1. 스택
스택은 삽입과 삭제 연산이 후입선출(Last-In First-Out)으로 이뤄지는 자료구조이다.
스택은 삽입과 삭제가 한 쪽에서만 이뤄진다.
- top : 삽입과 삭제가 일어나는 위치(제일 최근 값을 가리킴)
- push : top 위치에 새 값을 삽입
- pop : top 위치에 있는 값을 삭제
- peek : top 위치에 있는 값을 확인
2. 큐
큐는 삽입과 삭제 연산이 선입선출(First-In First-Out)으로 이뤄지는 자료구조이다.
큐는 삽입과 삭제가 양방향에서 이뤄진다.
- rear : 큐에서 가장 끝의 값을 가리킴
- front : 큐에서 가장 앞의 값을 가리킴
- add : rear 위치에 새 값을 삽입
- poll : front 위치에 있는 값을 삭제
- peek : front 위치에 있는 값을 확인
3. 우선순위 큐
우선순위 큐(Priority queue)는 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조이다.
일반적으로 트리 종류 중 하나인 힙을 이용하여 구현한다.
4. 예제 문제
[1874] 스택 수열 (JAVA)
# 문제 설명 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어
spicyrisotto.tistory.com
[17298] 오큰수 (JAVA)
# 문제 설명 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미
spicyrisotto.tistory.com
[2164] 카드2 (JAVA)
# 문제 설명 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동
spicyrisotto.tistory.com
[11286] 절댓값 힙
# 문제 설명 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장
spicyrisotto.tistory.com
[10828] 스택 (JAVA)
# 문제 설명 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가
spicyrisotto.tistory.com
[1966] 프린터 큐 (JAVA)
# 문제 설명 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue
spicyrisotto.tistory.com
'책 > Do it! 알고리즘 코딩 테스트 자바 편' 카테고리의 다른 글
Day-5 선택 정렬 (0) | 2024.03.23 |
---|---|
Day-5 버블 정렬 (0) | 2024.03.22 |
Day-3 슬라이딩 윈도우 (1) | 2024.03.17 |
Day-3 투 포인터 (2) | 2024.03.17 |
Day-2 구간 합 (0) | 2024.03.13 |