incastle의 콩나물
[알고리즘] 정수 배열(int array)가 주어질 때 가장 큰 이어지는 원소들의 합을 구하기, Brute force, python(4) 본문
python/알고리즘
[알고리즘] 정수 배열(int array)가 주어질 때 가장 큰 이어지는 원소들의 합을 구하기, Brute force, python(4)
incastle 2019. 4. 5. 16:54정수 배열(int array)가 주어질 때 가장 큰 이어지는 원정수 배열(int array)가 주어질 때 가장 큰 이어지는 원소들의 합을 구하기.
가령 예를 들면
...더보기
input : [7, -3, 4, -8]
[7, -3, 4] 구간이 가장 합이 크므로 8을 return
input : [-2, -3, 4, -1, -2, 1, 5, -3]
[4, -1, -2, 1, 5] 구간이 가장 합이 크므로 7을 return
key point : 이어지는 배열이 가장 커야 한다.
Brute force 방식을 이용하면 그렇게 어렵지 않다.
# brute force 방법을 사용한다.
def sum_max_period(profits):
sum_final = []
#결과값을 담을 list
for i in range(len(profits)):
sum_max = 0
#i가 iteration이 될 때마다 sum_max는 reset된다.
for j in range(i, len(profits)):
#0번 index부터 ~list의 끝까지 차례대로 더한 값을 더한다.
#1번 index부터 ~list의 끝까지 차례대로 더한 값을 더한다.
#반복
sum_max+=profits[j]
sum_final.append(sum_max)
return max(sum_final)
#최대값을 return
'python > 알고리즘' 카테고리의 다른 글
[알고리즘] 백준 1110번, 더하기 사이클, if문 활용, python(8) (0) | 2019.04.08 |
---|---|
[알고리즘] 백준 10871번, X보다 작은 수, if문 활용, python(7) (0) | 2019.04.08 |
[알고리즘] 백준 알고리즘 1001번, A-B 출력, python(3) (0) | 2019.04.05 |
[알고리즘] 독학으로 공부하는 법 (0) | 2019.03.31 |
[알고리즘] 최소 동전으로 거슬러 주기, greedy 알고리즘, python (3) (1) | 2019.03.31 |
Comments