본문 바로가기
책/Do it! 알고리즘 코딩 테스트 자바 편

Day-4 스택과 큐

by 댈팽이 2024. 3. 21.
728x90

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

728x90

' > 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