문제 출처
https://www.acmicpc.net/problem/10866
접근 방식 및 풀이
- 자바 deque에 대한 기초 문제이다.
- 명령어에 맞춰서 deque 메소드를 호출하고 출력한다.
소스 코드
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Deque<Integer> deque = new ArrayDeque<Integer>();
for (int i = 0; i <n ; i++) {
String str = sc.next();
if(str.equals("push_front")){
deque.addFirst(sc.nextInt());
}else if(str.equals("push_back")){
deque.addLast(sc.nextInt());
}else if(str.equals("pop_front")){
if(deque.size()<1){
System.out.println(-1);
}else {
System.out.println(deque.pollFirst());
}
}else if(str.equals("pop_back")){
if(deque.size()<1){
System.out.println(-1);
}else {
System.out.println(deque.pollLast());
}
}else if(str.equals("size")){
System.out.println(deque.size());
}else if(str.equals("empty")){
if(deque.isEmpty()){
System.out.println(1);
}else {
System.out.println(0);
}
}else if(str.equals("front")){
if(deque.size()<1){
System.out.println(-1);
}else {
System.out.println(deque.peekFirst());
}
}else if(str.equals("back")){
if(deque.size()<1){
System.out.println(-1);
}else {
System.out.println(deque.peekLast());
}
}
}
}
}
결과
'Competition > Baekjoon' 카테고리의 다른 글
[백준] 10824번 자바 (0) | 2020.03.12 |
---|---|
[백준] 10845번 자바 큐 기초 (0) | 2020.03.12 |
[백준] 10828번 자바 스택 기초 (0) | 2020.03.11 |