티스토리 뷰
큐를 2개 이용하여 스택처럼 사용
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.LinkedList; | |
import java.util.Queue; | |
/** | |
* 큐를 이용하여 스택 구현하기 | |
* 큐 2개를 이용하여 스택을 구현하는 방법 | |
* | |
* push 시점에는 inBox 큐에 입력 | |
* pop 시점에는 inBox 에 있는 데이터를 | |
* outBox에 넣어서 출력한다. | |
* | |
* @author whitebeard | |
* | |
*/ | |
public class QueueStack { | |
private Queue<Integer> inBox; | |
private Queue<Integer> outBox; | |
public QueueStack() { | |
inBox = new LinkedList<>(); | |
outBox = new LinkedList<>(); | |
} | |
public void push(int number) { | |
inBox.add(number); | |
} | |
public int pop() { | |
if(outBox.isEmpty()) { | |
while(!inBox.isEmpty()) { | |
outBox.add(inBox.poll()); | |
} | |
} | |
return outBox.poll(); | |
} | |
public static void main(String[] args) { | |
QueueStack stack = new QueueStack(); | |
stack.push(1); | |
stack.push(2); | |
stack.push(3); | |
System.out.println(stack.pop()); | |
stack.push(4); | |
System.out.println(stack.pop()); | |
System.out.println(stack.pop()); | |
System.out.println(stack.pop()); | |
} | |
} |
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 문제 풀이를 위해 익혀 두어야 할 것 들 (0) | 2018.01.12 |
---|---|
[스크랩] 삼성 SW 검정에 도움이 되는 사이트 모음 (0) | 2018.01.09 |
[알고리즘] 플로이드 와샬 알고리즘(백준 11404) (0) | 2017.10.12 |
[알고리즘] 최소비용 신장트리 - 프림알고리즘 (0) | 2017.04.18 |
[알고리즘] 조합 (0) | 2017.04.17 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- AWS
- emr
- 파이썬
- 다이나믹
- oozie
- ubuntu
- Linux
- SPARK
- build
- nodejs
- 알고리즘
- bash
- SQL
- hbase
- 오류
- Python
- error
- 정올
- HIVE
- mysql
- yarn
- 하이브
- Tez
- HDFS
- 하둡
- Hadoop
- java
- airflow
- S3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함