728x90
1. 문제
![[BOJ] 10866 덱 - JAVA - 1. 문제 [BOJ] 10866 덱 - JAVA - 1. 문제](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
2. 풀이
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Deque; import java.util.StringTokenizer; public class BOJ_10866_덱 { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(in.readLine()); Deque<Integer> deque = new ArrayDeque<>(); StringTokenizer st; StringBuilder sb = new StringBuilder(); while (N-- > 0) { st = new StringTokenizer(in.readLine()); switch (st.nextToken()) { case "push_front": deque.offerFirst(Integer.parseInt(st.nextToken())); break; case "push_back": deque.offerLast(Integer.parseInt(st.nextToken())); break; case "pop_front": if(deque.isEmpty()) sb.append("-1\n"); else sb.append(deque.pollFirst()).append("\n"); break; case "pop_back": if(deque.isEmpty()) sb.append("-1\n"); else sb.append(deque.pollLast()).append("\n"); break; case "size": sb.append(deque.size()).append("\n"); break; case "empty": if(deque.isEmpty()) sb.append("1\n"); else sb.append("0\n"); break; case "front": if(deque.isEmpty()) sb.append("-1\n"); else sb.append(deque.peekFirst()).append("\n"); break; case "back": if(deque.isEmpty()) sb.append("-1\n"); else sb.append(deque.peekLast()).append("\n"); break; } } System.out.print(sb); } }
3. 결과
![[BOJ] 10866 덱 - JAVA - 3. 결과 [BOJ] 10866 덱 - JAVA - 3. 결과](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
덱의 사용법만 알면 간단하게 풀 수 있는 문제였다.
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 5430 AC - JAVA (0) | 2022.02.07 |
---|---|
[BOJ] 1021 회전하는 큐 - JAVA (0) | 2022.02.07 |
[BOJ] 1966 프린터큐 - JAVA (0) | 2022.02.07 |
[BOJ] 11866 요세푸스 문제 0 - JAVA (0) | 2022.02.06 |
[BOJ] 2164 카드2 - JAVA (0) | 2022.02.06 |
댓글