[Java] Stack, Queue, Priority Queue

Featured image for [Java] Stack, Queue, Priority Queue

1. Stack Stack underflow와 overflow를 조심하자. 2. Queue Java의 java.util.Queue는 interface다. 구현체로는 대표적으로 ArrayDeque 또는 LinkedList를 사용한다. 대부분의 상황에선 LinkedList보다는 ArrayDeque를 사용하자. ArrayDeque 양쪽 끝에서 삽입, 삭제하기에 효율적이다. 3. Priority Queue 기본은 오름차순으로 정렬한다. 정렬의 순서를 자신이 원하는 방법으로 바꾸고 싶다. → Comparator를 추가한다. 또는 Comparable을 구현해도 된다. Data Structure Insertion Time Complexity Deletion Time … 더 읽기

[알고리즘] 4949번: 균형잡힌 세상

0. 문제 4949번: 균형잡힌 세상 1. 문제 이해 2. 제출 가. 틀렸습니다. 위 두 조건을 모두 만족하기 위해선 “.”와 “ .”를 구분할 줄 알아야 한다. 일반적인 cin는 공백문자를 인식하지 못하기 때문에 일반적인 cin이 아닌 다른 방식으로 공백문자까지도 입력을 받아야 한다. 나. 수정

[알고리즘] 9012번: 괄호

0. 문제 9012번: 괄호 1. 문제 이해 올바른 괄호 문자열인지 판단하여 YES나 NO를 출력하는 문제다. 2. 제출 (는 스택에 푸시하고 )는 팝한다. 모든 테스트케이스를 시작할 때 스택을 초기화한다. pop()할 때는 스택 언더플로우를 검사한다. 3. 더 좋은 코드 2중 for문일 때 두 for문 간에 연관성이 적다면 내부의 for문을 함수로 빼내는 방법이 도움이 된다.

[C++] stack & queue & deque & priority_queue

Featured image for [C++] stack & queue & deque & priority_queue

map이 pair로 구현가능했다면 stack, queue, deque는 linked list로 구현 가능하다. 1. stack LIFO(Last In First Out)의 특성을 가진 자료 구조다. c++의 stack에는 clear() 메서드가 없는 관계로 초기화를 위해선 다음과 모든 요소를 pop()한다. 2. queue 선입선출(FIFO, First In First Out)을 지닌 자료 구조. 3. deque 앞뒤로 삽입, 삭제, 참조가 가능한 자료구조. 4. priority queue 우선순위 큐는 … 더 읽기