๐Ÿฅž BE
home

232_Implement Queue using Stacks

๋‹ด๋‹น์ž
์™„๋ฃŒ ์—ฌ๋ถ€
Solved
์š”์•ฝ
๋‚ ์งœ
2024/07/11
ํƒœ๊ทธ
์ž๋ฃŒ๊ตฌ์กฐ
๋‚œ์ด๋„
Easy
์ถœ์ฒ˜
LeetCode

์ฝ”๋“œ

import java.util.ArrayDeque; import java.util.Deque; class MyQueue { private Deque<Integer> input; private Deque<Integer> output; // ํ ์ดˆ๊ธฐํ™” public MyQueue() { input= new ArrayDeque<>(); output = new ArrayDeque<>(); } // ํ์˜ ๋’ค์— x์ถ”๊ฐ€ public void push(int x) { input.push(x); } // ํ์˜ ๊ฐ€์žฅ ์•ž ์š”์†Œ๋ฅผ ์ œ๊ฑฐ ํ›„ ๊ฐ’ ๋ฐ˜ํ™˜ public int pop() { moveInputToOutput(); return output.pop(); } // ํ์˜ ๊ฐ€์žฅ ์•ž ์š”์†Œ์˜ ๊ฐ’๋งŒ ๋ฐ˜ํ™˜ public int peek() { moveInputToOutput(); return output.peek(); } // ํ๊ฐ€ ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ public boolean empty() { return input.isEmpty() && output.isEmpty(); } // output์ด ๋น„์–ด์žˆ์œผ๋ฉด, input์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ output์œผ๋กœ ์˜ฎ๊น€ -> ์š”์†Œ ์ˆœ์„œ ๋’ค์ง‘๊ธฐ. private void moveInputToOutput() { if (output.isEmpty()) { while (!input.isEmpty()) { output.push(input.pop()); } } } }
Java
๋ณต์‚ฌ

๋ฌธ์ œ ํ•ด๊ฒฐ ์•„์ด๋””์–ด