사용 언어 - Python3
문제 - 1912번 연속합
정답
누적된 숫자들의 합 기억하기 (정답 맞춘 여부 X)
컴퓨터에게 기억하는 방법 알려주기
1. prefix라는 누적합 배열 생성
2. 값이 너무 작아지면, 기존의 값 무시하고 새로 시작하기
max(prefix[i] + arr[i], arr[i])
3. 최대값 구하기
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int,input().split()))
prefix = [-1001]*(n+1)
for i in range(n):
prefix[i+1] = max(prefix[i] + arr[i], arr[i])
print(max(prefix))
레퍼런스
- 정답 깃허브
https://github.com/yyeongeun/codingtest/blob/main/BAEKJOON/1912_%EC%97%B0%EC%86%8D%ED%95%A9.py
'Algorithm > 구현' 카테고리의 다른 글
[백준] 11600번 구간 합 구하기 5 (0) | 2023.10.24 |
---|---|
[백준] 2304번 창고 다각형 (1) | 2023.10.23 |
[백준] 2559번 수열 (1) | 2023.10.23 |
[백준] 2530번 인공지능 시계 (0) | 2023.09.10 |
[프로그래머스 lv 1] 순열 검사 (0) | 2023.06.23 |
댓글