문제
- 정수를 저장하는 큐를 구현한 다음, 주어지는 명령을 처리하는 문제.
아이디어
- ArrayDeque를 이용해 큐를 구현한다.
- 주어지는 명령을 그대로 구현한다.
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
Deque<Integer> queue = new ArrayDeque<>();
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
String command = st.nextToken();
// push 연산
if(command.equals("push")) {
queue.addLast(Integer.parseInt(st.nextToken()));
}
// pop 연산
else if(command.equals("pop")) {
sb.append(queue.isEmpty() ? -1 : queue.removeFirst()).append('\n');;
}
// size 연산
else if(command.equals("size")) {
sb.append(queue.size()).append('\n');;
}
// empty 연산
else if(command.equals("empty")) {
sb.append(queue.isEmpty() ? 1 : 0).append('\n');;
}
// front 연산
else if (command.equals("front")) {
sb.append(queue.isEmpty() ? -1 : queue.peekFirst()).append('\n');;
}
// empty 연산
else {
sb.append(queue.isEmpty() ? -1 : queue.peekLast()).append('\n');;
}
}
System.out.println(sb);
}
}
채점 결과
문제 링크
'백준' 카테고리의 다른 글
[JAVA] 백준 1929번: 소수 구하기 (0) | 2024.07.21 |
---|---|
[JAVA] 백준 18110번: solved.ac (0) | 2024.07.21 |
[JAVA] 백준 10828번: 스택 (0) | 2024.07.20 |
[JAVA] 백준 10816번: 숫자 카드 2 (0) | 2024.07.20 |
[JAVA] 백준 10773번: 제로 (1) | 2024.07.19 |