[알고리즘] 투포인터

kodaaa·2022년 8월 4일
0

코딩테스트

목록 보기
11/17
post-thumbnail

투포인터

💡 언제 쓸까?

어떤 특정 조건을 만족하는 연속 구간을 구할 때(구간의 처음과 끝이 중요할 때)

  • 완전탐색으로 풀면 시간초과 뜰 것 같은 경우, 투포인터로 좀 더 효율성을 높일 수 있지 않을까 생각해보자

💡 포인트

  • 2개의 포인터(배열의 인덱스)를 사용 : start, end
  • 조건에 맞춰 start++ / start--, end++ / end-- 해나간다.
    • 조건에 따라 포인터를 이동시키기 때문에 for문 보다는 while문 사용
    • while문의 수행 조건에 start <= end / start < end 포함
      • end가 배열의 맨앞에서 시작하는 경우, end < 배열길이도 추가
  • start, end 모두 배열의 맨앞에서 시작하는 경우도 있고, start는 배열의 맨앞 + end는 배열의 맨 끝에서 시작하는 경우도 있다.(문제에 따라 다름)
  • 문제 유형은 크게 2가지이다.

💡 참고문제

2470 두 용액
1806 부분합

profile
취뽀하자(●'◡'●)💕

0개의 댓글