https://www.acmicpc.net/problem/10845
/**
* 1. 디큐 구현풀이
*
* 2. n개의 명령의 수에 따라 수행
*
* 3. 출력 명령문 마다 출력
*
*/
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
// Queue<Integer> q = new LinkedList<>();
Deque<Integer> dq = new ArrayDeque<>();
StringTokenizer st;
for(int i = 0; i < n; i++){
st = new StringTokenizer(br.readLine());
String command = st.nextToken();
if(command.equals("push")){
int num = Integer.parseInt(st.nextToken());
dq.offer(num);
}else if(command.equals("pop")){
int num = dq.isEmpty() == true ? -1 : dq.poll();
bw.write(num +"\n");
}else if(command.equals("size")){
bw.write(dq.size() +"\n");
}else if(command.equals("empty")){
int num = dq.isEmpty() == true ? 1 : 0;
bw.write(num + "\n");
}else if(command.equals("front")){
int num = dq.isEmpty() == true ? -1 : dq.peekFirst();
bw.write(num +"\n");
}else{
int num = dq.isEmpty() == true ? -1 : dq.peekLast();
bw.write(num +"\n");
}
}
bw.flush();
bw.close();
}
}
같이 풀면 좋을 문제
https://www.acmicpc.net/problem/2164
https://www.acmicpc.net/problem/11866
'Algorithm > 백준풀이' 카테고리의 다른 글
[알고리즘 문제풀이] 백준 14502 연구소 (JAVA코드) (0) | 2022.03.17 |
---|---|
[알고리즘 문제풀이] 백준 2613 숫자구슬 (JAVA코드) (0) | 2022.03.16 |
[알고리즘 문제풀이] 백준 9012 괄호 (JAVA코드) (0) | 2022.02.27 |
[알고리즘 문제풀이] 백준 10828 스택 (JAVA코드) (0) | 2022.02.27 |
[알고리즘 문제풀이] 백준 - N과M(2) / JAVA(자바) (0) | 2022.02.06 |
댓글