[Do it_java]

3. 투 포인터, 슬라이딩 윈도우 (with 백준 온라인 저지)

혜리노베이션 2023. 5. 25. 21:49

p. 56~78 (3일차)

강의:  03-3, 03-4는 유튜브 강의가 없다


1. 투 포인터

- 2개의 포인터로 알고리즘의 시간 복잡도를 최적화

- 알고리즘이 매우 간단하여 실전 문제로 실습

 

✔ 백준 2018번

핵심 내용

시작인덱스, 종료인덱스 사용

시작/종료 인덱스를 투 포인터로 지정

✔ while, else if, else 문 사용

✔ 반복문을 통해 연속합을 N과 계속 비교하고 if문을 통해 조건에 맞으면 count에 저장 (1개, 2개)

* SUM(연속합)의 값이 N보다 커지면 시작인덱스 값을 빼고 범위 다음으로 이동 (예: 1빼고 2로 이동)

** SUM(연속합)의 값이 N보다 작아지면 종료인덱스(범위) 다음으로 이동, SUM값 변동


2 슬라이딩 윈도우

- 두 포인터로 범위를 지정 후 범위를 유지한 채로 이동하며 문제를 해결한다

- 투 포인터 알고리즘과 매우 비슷한 원리


모르는 함수가 넘쳐난다 ㅠ_ㅠ 

문제 못 풀겠어!!!