공부기록/백준

[백준] 18258번 큐 2

메델 2023. 12. 21. 06:29
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 Main {
	public static void main(String[] args) throws IOException {
		

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = Integer.parseInt(br.readLine());
		
		Deque<Integer> deque = new ArrayDeque<>();
		StringBuilder sb = new StringBuilder();
		
		for(int i=0; i<n; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			String order = st.nextToken();
			
			switch(order) {
			
			case "push":
				deque.add(Integer.parseInt(st.nextToken()));
				break;
				
			case "pop":
				if(deque.isEmpty()) {
					sb.append("-1").append('\n');
				}else {
					sb.append(deque.removeFirst()).append('\n');
				}
				break;
			
			case "size":
				sb.append(deque.size()).append('\n');
				break;
				
			case "empty":
				if(deque.isEmpty()) {
					sb.append("1").append('\n');
				}else {
					sb.append("0").append('\n');
				}
				break;
			
			case "front":
				if(deque.isEmpty()) {
					sb.append("-1").append('\n');
				}else {
					sb.append(deque.getFirst()).append('\n');
				}
				break;
				
			case "back":
				if(deque.isEmpty()) {
					sb.append("-1").append('\n');
				}else {
					sb.append(deque.getLast()).append('\n');
				}
				break;
			
			}
		}
		
		System.out.println(sb.toString());
		
	}
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 3052번 나머지  (1) 2023.12.23
[백준] 28278번 스택 2  (0) 2023.12.23
[백준] 2751번 수 정렬하기 2  (0) 2023.12.21
[백준] 10866번 덱  (0) 2023.12.21
[백준] 10845번 큐  (0) 2023.12.20