Til
알고리즘 - 파이썬 (제곱 표현, sort함수, list함수, range함수)
dini_dini
2024. 3. 7. 18:33
>>박테리아n개가 시간당 2배로증식할때 t시간후 박테리아 수?
def solution(n,t):
return n*(2**t) #2의 t승
위에서 n*(2**t)는 n 곱하기 2의 t 제곱
-----
>>리스트의 중간값??
def solution(array):
array.sort() #리스트의 중간값을 알기위해 순서대로 정렬
return array[len(array)//2]
array.sort()와 sorted(array)
- array.sort() : 주어진 리스트 array 정렬함 , 리스트를 직접 정렬하고 변경함 ->원래의 리스트를 변경
- sorted(array) : 주어진 리스트 array를 정렬한 새로운 리스트를 반환함 -> 원래의 리스트를변경하지 않음//새롭게 정렬된 리스트 반환
-----------
>>n이하의 홀수
# 처음에 작성한것
def solution(n):
numbers = list (range(1, n+1))
n_numbers = []
for num in numbers:
if num%2 !=0:
n_numbers.append(num)
return n_numbers
레인지 함수를 통해 1부터 엔까지 숫자를 리스트함수를 통해 리스트를 만들어주었음
그리고 2로 나눈 나머지가 0이 아닐때 새로운 엔넘버리스트에 추가
위의 코드도 문제는 없었음
더짧게 만들어보자
def solution(n):
numbers = list(range(1,n+1,2))
return numbers
포 문을 빼고 레인지함수 스텝부분에 2를 추가 -> 스타트가 1이므로 2를 추가하면 3 따라서 [1,3,5...]식으로 올라감
그럼 더 줄여볼까
def solution(n):
return list(range(1,n+1,2))
리스트를 바로 리턴하는것도 가능 ㅇㅇ