학습
시험

슬라이딩 윈도우 1

난이도
BEGINNER

문제 설명

슬라이딩 윈도우는 일정 크기의 구간(윈도우)을 배열의 시작부터 끝까지 한 칸씩 옮겨가며, 각 구간에 대해 연산을 수행하는 기법입니다.
정수로 이루어진 일차원 배열 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 이상 1,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]을 반환합니다.