슬라이딩 윈도우
-
[알고리즘] Sliding Window자료구조 & 알고리즘/알고리즘 2021. 10. 29. 14:59
Sliding Window 슬라이딩 윈도우는 연속적인 리스트나 배열의 원소들의 값들을 비교하기 위한 알고리즘입니다. 예제 > 현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다. 만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면 [2, 4, 7, 10, 8, 4, 5, 6, 7, 1] 연속된 3일간의 최대 매출액은 7+10+8=25만원입니다. 직관적인 방법으로 구현한다면 다음과 같이 구할 수 있습니다. public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); i..