24. 스택을 이용한 큐 구현
https://leetcode.com/problems/implement-queue-using-stacks/
📌문제
스택을 이용해다음연산을 지원하는 큐를 구현하라
- push(x): 요소 x를 큐 마지막에 삽입한다.
- pop(): 큐 처음에 있는 요소를 제거한다.
- peek(): 큐 처음에 있는 요소를 조회한다.
- empty(): 큐가 비어 있는지 여부를 리턴한다.
- 예제1
📝입력
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[], [1], [2], [], [], []]
💻출력
[null, null, null, 1, 1, false]
📌풀이
0ms, 40.3mb
class MyQueue {
Stack<Integer> input = new Stack();
Stack<Integer> output = new Stack();
public MyQueue() {
}
public void push(int x) {
input.push(x);
}
public int pop() {
peek();
return output.pop();
}
public int peek() {
if (output.empty())
while (!input.empty())
output.push(input.pop());
return output.peek();
}
public boolean empty() {
return input.empty() && output.empty();
}
}
스택 두 개를 사용한다는 아이디어가 떠올랐다면 쉽게 풀었을 문제.
'Algorithm > PTUStudy' 카테고리의 다른 글
10주차. 데크, 우선순위 큐(원형 데크 디자인) (0) | 2023.03.30 |
---|---|
9주차. 스택, 큐(원형 큐 디자인) (0) | 2023.03.30 |
9주차. 스택,큐 (큐를 이용한 스택구현) (0) | 2023.03.30 |
8주차. 단어 뒤집기 2 (0) | 2023.03.30 |
8주차. 10866 덱 (0) | 2023.03.30 |