백준/Python
[백준] 2559 수열 (python 파이썬)
노랑꼬리
2022. 12. 7. 15:57
문제링크 : 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()를 해주면 정답이 된다.