def sublist_max(profits):
# 여기에 코드를 작성하세요
sub_list = []
sum = 0
for i in range(len(profits)):
sum = 0
for j in range(i+1):
sum += profits[j]
sub_list.append(sum)
return max(sub_list)
# 테스트 코드
print(sublist_max([4, 3, 8, -2, -5, -3, -5, -3]))
print(sublist_max([2, 3, 1, -1, -2, 5, -1, -1]))
print(sublist_max([7, -3, 14, -8, -5, 6, 8, -5, -4, 10, -1, 8]))
해결과정
Brute Force알고리즘을 이용해 문제 해결
Brute Force는 가능한 경우를 모두 고려해서 문제의 답을 구하는 방식
시간복잡도
인풋 리스트 profits의 길이를 n이라고 할때, n에 비례하는 반복문이 두번 중첩되어있다.
그렇기때문에 시간복잡도는 O(n^2)
'Algorithm > 코딩테스트 스터디' 카테고리의 다른 글
투자 귀재 규식이 III (0) | 2023.08.01 |
---|---|
투자 귀재 규식이 II (0) | 2023.08.01 |
중복되는 항목 찾기 I (0) | 2023.08.01 |
빠르게 산 오르기 (0) | 2023.07.27 |
거듭 제곱 빠르게 계산하기 (0) | 2023.07.26 |