본문 바로가기

카테고리 없음

[투 포인터], [슬라이딩 윈도우] 차이

[투 포인터] : 연속적인 데이터가 주어졌을 때 두 개의 포인터를 이용하여 범위를 정해주고 그 범위에 포함된 데이터의 합 등 연산을 한뒤 그것이 원하는 값인지 검증을 하고 조건에 맞지 않는다면 조건에 맞출 수 있도록 end pointer나 start pointer를 적절하게 이동시켜주면서 모든 데이터를 확인하는 방식의 알고리즘입니다. 

 

[슬라이딩 윈도우] : 투 포인터와 유사하게 접근하되 투 포인터처럼 범위의 크기가 줄었다 늘었다 하는 것이 아니라 일정한 크기를 유지하면서 이동한다는 점에서 차이가 있습니다. 그렇기 때문에 투 포인터처럼 데이터의 크기와 데이터 값이 주어지는 동시에 특정 범위가 주어지고 그 범위 내에서 연산처리가 이루어지도록 요구하고 있다면 이는 슬라이딩 윈도우 문제로 볼 수 있습니다.

 

code0xff.tistory.com/168?category=723754

 

19. 투 포인터, 슬라이딩 윈도우 (2)

앞서 투 포인터의 개념에 대해 설명을 하였습니다. 이번에는 슬라이딩 윈도우에 대해 설명해보도록 하겠습니다. 때에 따라서 투 포인터와 슬라이딩 윈도우를 구분없이 이야기하거나 개념이 혼�

code0xff.tistory.com

[슬라이딩 윈도우 예제]

www.acmicpc.net/problem/11003

 

11003번: 최솟값 찾기

N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다.

www.acmicpc.net