문제링크 : https://www.acmicpc.net/problem/2559
작성코드
해설
이 문제는 구간합을 활용하여 푸는 문제이다.
단순히 리스트를 탐색하여 i + K 식으로 전체를 돌며 계산할 경우 시간초과가 나온다.
구간 합에 관한 내용은 https://yellowtail2357.tistory.com/28
여기서 기본적인 사용을 익힐 수 있다.
11659 구간합과 다른 점은 연속 날짜 길이 수의 합을 따로 리스트에 저장해주고 이 리스트의 최대값을 구해주어야하는 것이다.
구간의 경우 시작점 ~ 시작점+길이 까지가 되므로 이를 주의해서 for문을 작성해주어야한다.
해당 내용을 코드로 작성하면
이와 같이 구간을 설정할 수 있다.
구간합 리스트인 ksum에서 최대치 계산 max()를 해주면 정답이 된다.
'백준 > Python' 카테고리의 다른 글
[백준] 26217 별꽃의 세레나데(Easy) (python 파이썬) (0) | 2022.12.22 |
---|---|
[백준] 26215 눈 치우기 (python 파이썬) (0) | 2022.12.22 |
[백준] 11054 가장 긴 바이토닉 부분 수열 (python 파이썬) (0) | 2022.12.07 |
[백준] 11053 가장 긴 증가하는 부분 수열 (python 파이썬) (0) | 2022.12.05 |
[백준] 2156 포도주 시식 (python 파이썬) (0) | 2022.12.01 |