반응형
https://www.acmicpc.net/problem/1912
코드 작성
n = int(input())
k = list(map(int, input().split()))
ans = [k[0]]
for i in range(1,n):
ans.append(max(ans[i-1]+k[i],k[i]))
print(max(ans))
코드 풀이
#문제 이해
인덱스 0부터 i까지의 합이 큰 지, 또는 i의 값이 큰 지를 비교하는 문제이다.
물론 문제에서는 중간 값 중에서 여러 개를 요구하지만, 코드작성은 max(ans[i-1] + k[i], k[i])로 나타낸다.
초기값 k[0]은 정해졌으므로, k[1]부터 구해야 하니 range의 범위는 1부터 n까지 된다.
반응형
'코딩 > Python' 카테고리의 다른 글
[Python] 백준 2798 블랙잭 (0) | 2022.12.07 |
---|---|
[Python] 백준 7568 덩치 (1) | 2022.12.07 |
[Python] 백준 1550 16진수 (0) | 2022.12.03 |
[Python] 백준 15990 1,2,3더하기5 (0) | 2022.12.01 |
[Python] 백준 4344 평균은 넘겠지 (0) | 2022.12.01 |