Circular Deque의 두 가지 구현
·
Algorithm/내용 정리
❒ Description[LeetCode#641] Design Circular Deque에서 Array와 Doubly-Linked list를 통해서 Circular-DQ를 구현해봤다. 하지만 Doubly-Linked list를 통한 구현은 원형 큐의 이점을 잘 살리지 못한다고 했다.여기서는 왜 이점을 살리지 못하는지 정리해본다.   ❒ 동작원리1. insertFrontFront 앞에 새로운 데이터를 삽입한다.Front가 현재 0번 째 index를 가리키고 있다면, Front는 마지막 index를 가리키도록 변경된다. 2. insertLastRear 뒤에 새로운 데이터를 삽입한다.Rear가 현재 마지막 index를 가리키고 있다면, Rear는 첫 번째 index를 가리키도록 변경된다.   ❒ Why?1. ..
Two Pointer
·
Algorithm/내용 정리
❒ DescriptionTrapping Rain water 문제를 풀면서 사용한 Two-Pointer 알고리즘에 대한 정리    ❒ Two Pointer 1. Two Pointer 알고리즘이란?주로 정렬된 배열에서 두 개의 Pointer를 사용하여 특정 조건을 만족할 때 까지 탐색하는 알고리즘이다.해당 알고리즘의 동작원리는 다음과 같다.초기화배열의 시작점 또는 특정 위치에 두개의 포인터를 배치. (일반적으로 시작과 끝에 배치)조건 검색 및 이동각 포인터가 가리키는 요소를 검사하여 조건을 만족하는지 확인한다.조건을 만족하지 않으면 포인터를 이동시킨다.종료 조건포인터가 배열의 끝에 도달하고나, 두 pointer가 교차할 때 반복을 종료한다.이때 원하는 결과를 얻었는지 확인한다. 2. 언제 사용하면 좋을까?주..