Two Pointer

언젠가부터 투 포인터는 코딩테스트에서 한 문제씩 나오기 시작했다고 한다. 투 포인터는 알고리즘이 적당히 이론적이고, 인덱스 하나 차이로 정답과 런타임 에러를 왔다갔다하기 때문에 구현에서의 디테일이 필요한 알고리즘이다. 투 포인터(two pointer)는 배열에서 원래 이중 for문으로 O(N2)에 처리하는 부분을 포인터의 움직임으로 O(N)에 해결하는 알고리즘이다. C언어에서의 포인터 개념은 아니고, 적당히 커서 정도로 생각하면 된다. 이렇게 시간복잡도를 줄일 수 있는 이유는 이중 for문에서 i=0일 때 j=0부터 n-1까지 돌고, i=1일때 j가 0부터 n-1까지 돈다. 이처럼 각 i에 대해서 j가 0부터 n-1까지 도는데, 이 과정에서 i=0일 때 계산하며 얻은 정보가 i=1일 때에 전혀 쓰이지 않..
해달e
'Two Pointer' 태그의 글 목록