[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 슬라이딩 윈도우
- 두 포인터로 범위를 지정 후 범위를 유지한 채로 이동하며 문제를 해결한다
- 투 포인터 알고리즘과 매우 비슷한 원리
모르는 함수가 넘쳐난다 ㅠ_ㅠ
문제 못 풀겠어!!!