문제 출처
https://www.acmicpc.net/problem/10845
접근 방식 및 풀이
- 큐를 사용하는 기초 문제이다.
- 큐를 선언하고 명령어에 따라 코딩하면 된다.
- Queue로 진행하다가 peekLast, peekFirst 메소드 사용을 위해 Deque로 바꿨다.
소스 코드
import java.util.Deque;
import java.util.LinkedList;
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> queue = new LinkedList<>();
for (int i = 0; i <n ; i++) {
String str = sc.next();
if(str.equals("push")){
queue.addLast(sc.nextInt());
}else if(str.equals("pop")){
if(queue.size()<1){
System.out.println(-1);
}else {
int a = queue.pollFirst();
System.out.println(a);
}
}else if(str.equals("size")){
System.out.println(queue.size());
}else if(str.equals("empty")){
if (queue.isEmpty()){
System.out.println(1);
}else{
System.out.println(0);
}
}else if(str.equals("front")){
if(queue.size()<1){
System.out.println(-1);
}else {
System.out.println(queue.peekFirst());
}
}else if(str.equals("back")){
if(queue.size()<1){
System.out.println(-1);
}else {
System.out.println(queue.peekLast());
}
}
}
}
}
결과
'Competition > Baekjoon' 카테고리의 다른 글
[백준] 10866번 자바 덱 기초 (0) | 2020.03.12 |
---|---|
[백준] 10828번 자바 스택 기초 (0) | 2020.03.11 |
[백준] 10820번 자바 아스키코드활용 (0) | 2020.03.11 |