# 알고리즘과 친해지기
# 1. 최대값 찾기
array = [3,5,6,1,10,4]
max = 0
def find_max_num(array):
for num in array:
for compare_number in array:
if num < compare_number:
max = compare_number
return max
print(f'최대값은 {find_max_num(array)}입니다.') # formatted string, 변수는 {}로 출력
# 위 알고리즘은 시간복잡도가 O(n^2)
def find_max_num2(array):
max = array[0]
for num in array:
if num > max:
max = num
return max
print(f'최대값은 {find_max_num2(array)}입니다.')
# 위 알고리즘은 시간복잡도가 O(n)
# 알고리즘 문제풀이의 목표 중 하나는
# 같은 문제라도 시간복잡도가 더 작은 알고리즘을 찾아야한다.
'Coding Test > 딩코딩코 파이썬 코딩테스트' 카테고리의 다른 글
시간 복잡도와 공간 복잡도 (0) | 2025.02.03 |
---|---|
알고리즘과 친해지기 (2) (0) | 2025.02.02 |