[백준/파이썬] 1912번 연속합 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 1912번 연속합
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
정수 수열에서 연속된 부분수열의 합 중 최댓값을 구하는 문제입니다.
코드
n = int(input())
a = list(map(int, input().split()))
m = [a[0]]
for i in range(1, n):
m.append(max(m[i-1]+a[i], a[i]))
print(max(m))
설명
m[i]를 i에서 끝나는 최대 연속합으로 정의합니다.
- 이전 연속합에 현재 값을 붙이는 경우
- 현재 값부터 새로 시작하는 경우
둘 중 큰 값을 채우면 되고, 전체 m의 최댓값이 정답입니다.
댓글남기기