10845번: 큐
https://www.acmicpc.net/problem/10845
# 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
ArrayDeque<Integer> q = new ArrayDeque<>(); // 큐로 사용할 ArrayDeque
StringTokenizer st;
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine(), " ");
String order = st.nextToken();
switch (order) {
case "push":
int x = Integer.parseInt(st.nextToken());
q.addLast(x);
break;
case "pop":
if (q.isEmpty()) {
sb.append(-1).append("\n");
} else {
sb.append(q.removeFirst()).append("\n");
}
break;
case "size":
sb.append(q.size()).append("\n");
break;
case "empty":
if (q.isEmpty()) {
sb.append(1).append("\n");
} else {
sb.append(0).append("\n");
}
break;
case "front":
if (q.isEmpty()) {
sb.append(-1).append("\n");
} else {
sb.append(q.getFirst()).append("\n");
}
break;
case "back":
if (q.isEmpty()) {
sb.append(-1).append("\n");
} else {
sb.append(q.getLast()).append("\n");
}
break;
}
}
System.out.println(sb);
br.close();
}
}
- 이전에 덱 문제를 풀어본 적이 있어 동일하게 ArrayDeque로 어렵지않게 푼 문제였다.
👇🏻 덱 문제풀이는 👇🏻
[자료구조] 백준 10866 덱
10866번: 덱https://www.acmicpc.net/problem/10866 # 코드import java.io.*;import java.util.ArrayDeque;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { // 빠른 입출력을 위한 Buffered
seung-yo.tistory.com
'코딩테스트 > 자바 문제풀이' 카테고리의 다른 글
[CLASS 3: 구현] 백준 11723 집합 (0) | 2024.10.19 |
---|---|
[CLASS 2: 자료구조] 백준 11866 요세푸스 문제(0) (0) | 2024.10.18 |
[CLASS 2: 이분탐색] 백준 10816 숫자 카드(2) (0) | 2024.10.16 |
[CLASS 2: 이분탐색] 백준 1920 수 찾기 (0) | 2024.10.15 |
[CLASS 2: 브루트포스] 백준 1018 체스판 다시 칠하기 (0) | 2024.10.14 |