챌린지 » 최대 슬라이딩 윈도우 구하기
최대 슬라이딩 윈도우 구하기
문제
주어진 정수 배열에서 슬라이딩 윈도우의 크기 K에 대해 각 윈도우에서 최대값을 구하는 프로그램을 작성하세요.
입력 형식
- 첫 번째 줄에 배열의 크기 N (1 <= N <= 100000)과 슬라이딩 윈도우의 크기 K (1 <= K <= N)가 주어집니다.
- 두 번째 줄에 N개의 정수로 이루어진 배열이 주어집니다. (0 <= arr[i] <= 10^9)
- K 크기의 슬라이딩 윈도우에 대한 최대값을 차례로 출력합니다.
출력 형식
제약조건
1 <= N <= 100000, 1 <= K <= N, 0 <= arr[i] <= 10^9
예제
예제 1
입력
8 3 1 3 -1 -3 5 3 6 7
출력
3 3 5 5 6 7
설명
각 슬라이딩 윈도우의 최대값은 차례로 3, 3, 5, 5, 6, 7입니다.
예제 2
입력
6 2 1 2 3 4 5 6
출력
2 3 4 5 6
힌트 보기
덱을 사용하여 슬라이딩 윈도우의 최대값을 효율적으로 구할 수 있습니다.
코드 작성
제출하려면 로그인이 필요합니다.