입력값과 문제를 해결하는데 걸리는 시간과의 상관관계
→ 입력값(함수에서 크기가 변경될 수 있는 값)이 2배로 늘어났을때, 문제를 해결하는데 걸리는 시간은 몇배로?
입력값과 문제를 해결하는데 걸리는 공간과의 상관관계
→ 입력값이 2배로 늘어났을때 저장하는 데이터의 양이 얼마나 클까?
거의 별 차이 없음 그래봤자 데이터 상수값들이므로
for문을 이해했다... 드디어...!
방법1) 각 숫자마다 모두 다른 숫자와 비교해서 찾기, 만약 다른 모든 값 보다 크다면 반복문 중단!
🕘시간복잡도 : n2
: 반복연산(for문) * 반복연산(for문)
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
for i in array: #array에 있는 각 숫자를 i에 넣어 그래야 비교하지
for compare_num in array: #그리고 i랑 비교할 값들도 있어야 비교하지
if i < compare_num:
break
# 파이썬에서 for문이 다 실행 될때까지 break가 한 번도 실행되지 않았다면, else실행!
else:
return i
result = find_max_num(input)
print(result)
input = [3, 5, 6, 1, 2, 4]
def find_max_num(array):
#지정변수
max_num = array[0] #왜 0번째? 배열의 임의의 숫자를 어차피 비교하면서 갈거라서 초기값을 설정해주는 것임
for i in array:
if i > max_num:
max_num = i
return max_num
result = find_max_num(input)
print(result)