Song[coding diary index]

Song 배열에 코딩 흔적 남겨두기

슬라이딩 윈도우 2

[Algorithm] 슬라이딩 윈도우(Sliding Window) 완.전.정.복

슬라이딩 윈도우(Sliding Window)란? 슬라이딩 윈도우란, 2개의 양 끝점을 가지고, 각 끝점의 범위를 유지한 채로 이동하며 문제를 해결하는 알고리즘 입니다.예를 들어, 설명해드리겠습니다. 1 ~ 7 까지의 배열에서 4개의 연속된 숫자의 합을 계산하는 문제입니다.1 2 3 4 5 6 71 2 3 4 5 6 71 2 3 4 5 6 71 2 3 4 5 6 7이처럼 고정된 크기의 범위를 유지한 채 문제를 해결하는 모습을 볼 수 있습니다.start point(시작점)과 end point(끝점)이 함께 움직이는 모습이 특징입니다!슬라이딩 윈도우 vs 투 포인터 투 포인터(two pointer)과 유사한 점이 많은 알고리즘인데, 두 알고리즘 모두 시작점과 끝점이 있고(+ 양 점을 서로 갱신함), 이 범위를..

알고리즘 2023.09.18

백준 11003번 최솟값 찾기(c++)

11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 문제분석 문제 자체는 매우 간단한 모습을 볼 수 있다. N개의 수가 주어지고, L이라는 숫자가 주어진다. 이 떄 D(i) = N개의 수에서 i - L + 1번째부터 i번째 사이의 최솟값을 말한다. 원소의 index가 i> N >> L; vector vec(N + 1); deque window; // 슬라이딩 윈도우 for (int i = 1; i > vec[i]; } for (int i = 1;..

알고리즘 2023.09.13
LIST