슬라이딩 윈도우(sliding window): 고정 사이즈의 윈도우가 이동하면서 윈도우 내에 있는 데이터를 이용해 문제를 풀이하는 알고리즘.

좌측은 윈도우의 사이즈가 가변적, 우측은 고정적이라는 차이가 있다.

좌측은 윈도우의 사이즈가 가변적, 우측은 고정적이라는 차이가 있다.

고정적인 정의는 아니고, 실무에서는 혼용되며 사용된다.

네트워크 용어에서는 2개의 네트워크 호스트간의 패킷 흐름을 제어하기 위한 방법을 지칭하기도 한다.

75. 최대 슬라이딩 윈도우

배열 nums가 주어졌을 때 k크기의 슬라이딩 윈도우를 오른쪽끝까지 이동하면서, 최대 슬라이딩 윈도우를 구하여라.

Example 1:

Input: nums = [1,3,-1,-3,5,3,6,7], k = 3
Output: [3,3,5,5,6,7]
Explanation:
Window position                Max
---------------               -----
[1  3  -1] -3  5  3  6  7       3
 1 [3  -1  -3] 5  3  6  7       3
 1  3 [-1  -3  5] 3  6  7       5
 1  3  -1 [-3  5  3] 6  7       5
 1  3  -1  -3 [5  3  6] 7       6
 1  3  -1  -3  5 [3  6  7]      7

Example 2:

Input: nums = [1], k = 1
Output: [1]