문제링크 : https://www.acmicpc.net/problem/2559
2559번: 수열
첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기
www.acmicpc.net
작성코드
해설
이 문제는 구간합을 활용하여 푸는 문제이다.
단순히 리스트를 탐색하여 i + K 식으로 전체를 돌며 계산할 경우 시간초과가 나온다.
구간 합에 관한 내용은 https://yellowtail2357.tistory.com/28
[백준] 11659 구간 합 구하기 (python 파이썬)
문제링크 : https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자
yellowtail2357.tistory.com
여기서 기본적인 사용을 익힐 수 있다.
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 |