문제 설명
슬라이딩 윈도우는 일정 크기의 구간(윈도우)을 배열의 시작부터 끝까지 한 칸씩 옮겨가며, 각 구간에 대해 연산을 수행하는 기법입니다.
정수로 이루어진 일차원 배열 numbers와 슬라이딩 윈도우의 구간 크기 window가 주어졌을 때, 배열의 시작부터 끝까지 크기가 window인 각 구간의 합을 차례로 담은 배열을 반환하는 solution 함수를 작성하시오.
예를 들어, numbers가 [4,1,5,0,-4,1,-10]이고, window가 3이라면
첫 번째 윈도우는 [4,1,5]이고 합은 10,
두 번째 윈도우는 [1,5,0]이고 합은 6,
세 번째 윈도우는 [5,0,-4]이고 합은 1,
네 번째 윈도우는 [0,-4,1]이고 합은 -3,
다섯 번째 윈도우는 [-4,1,-10]이고 합은 -13이 되어
[10,6,1,-3,-13]을 반환해야 합니다.
제한 사항
numbers의 길이는 1 이상 100,000 이하입니다.numbers의 각 원소는 -1,000 이상 1,000 이하의 정수입니다.window는 1 이상numbers의 길이 이하의 자연수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | numbers | window | return |
|---|---|---|---|
| 1 | [4,1,5,0,-4,1,-10] | 3 | [10,6,1,-3,-13] |
| 2 | [4,1,5,0,-4,1,-10] | 7 | [-3] |
| 3 | [1,2,3,4,5] | 2 | [3,5,7,9] |
1번 테스트케이스 설명
- 첫 번째 윈도우
[4,1,5]의 합은 10
두 번째 윈도우[1,5,0]의 합은 6
세 번째 윈도우[5,0,-4]의 합은 1
네 번째 윈도우[0,-4,1]의 합은 -3
다섯 번째 윈도우[-4,1,-10]의 합은 -13
따라서[10,6,1,-3,-13]을 반환합니다.
2번 테스트케이스 설명
- 윈도우 크기가 배열 전체와 같으므로, 한 번만 계산하게 되며
[4,1,5,0,-4,1,-10]의 합인 -3을 원소로 갖는 배열[-3]을 반환합니다.
3번 테스트케이스 설명
- 첫 번째 윈도우
[1,2]의 합은 3
두 번째 윈도우[2,3]의 합은 5
세 번째 윈도우[3,4]의 합은 7
네 번째 윈도우[4,5]의 합은 9
따라서[3,5,7,9]을 반환합니다.