PS/Baekjoon Online Judge
[백준 28279] 덱2 [Java]
kimyoungrok
2025. 3. 23. 15:57
728x90
문제
https://www.acmicpc.net/problem/28279
풀이
문제에서 주어진 조건대로 덱의 기능들을 구현하면 되는 문제다.
스위치문을 사용해서 조건별로 기능들을 구현했다.
Deque<String> deque = new ArrayDeque<>();
while (N-- > 0) {
st = new StringTokenizer(br.readLine());
// Solve
switch (Integer.parseInt(st.nextToken())) {
case 1:
deque.addFirst(st.nextToken());
break;
case 2:
deque.addLast(st.nextToken());
break;
case 3:
sb.append(deque.isEmpty() ? "-1" : deque.removeFirst()).append("\\n");
break;
case 4:
sb.append(deque.isEmpty() ? "-1" : deque.removeLast()).append("\\n");
break;
case 5:
sb.append(deque.size()).append("\\n");
break;
case 6:
sb.append(deque.isEmpty() ? "1\\n" : "0\\n");
break;
case 7:
sb.append(deque.isEmpty() ? "-1" : deque.peek()).append("\\n");
break;
case 8:
sb.append(deque.isEmpty() ? "-1" : deque.peekLast()).append("\\n");
break;
}
}
명령의 수는 최대 1e6개 이므로 StringBuilder에 담아서 한 번에 출력했다.
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/28279.java
728x90