땀두 블로그

[백준] 10866번 - 덱 본문

알고리즘/백준

[백준] 10866번 - 덱

땀두 2022. 3. 20. 12:07

 

Dequeue를 구현하는 문제이다. 간단히 if ~else를 이용하여 구현하였다.

 

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 p10866 {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		Deque<String> dq = new ArrayDeque<>();

		int a = Integer.parseInt(br.readLine());

		for (int i = 0; i < a; i++) {
			String[] s = br.readLine().split(" ");
			if (s[0].equals("push_front")) {
				dq.addFirst(s[1]);
			} else if (s[0].equals("push_back")) {
				dq.addLast(s[1]);
			} else if (s[0].equals("pop_front")) {
				if (dq.size() != 0) {
					System.out.println(dq.peekFirst());
					dq.pollFirst();
				} else {
					System.out.println("-1");
				}
			} else if (s[0].equals("pop_back")) {
				if (dq.size() != 0) {
					System.out.println(dq.peekLast());
					dq.pollLast();
				} else {
					System.out.println("-1");
				}
			} else if (s[0].equals("size")) {
				System.out.println(dq.size());
			} else if (s[0].equals("empty")) {
				if (dq.isEmpty()) {
					System.out.println("1");
				} else {
					System.out.println("0");
				}
			} else if (s[0].equals("front")) {
				if (dq.isEmpty()) {
					System.out.println("-1");
				} else {
					System.out.println(dq.peekFirst());
				}
			} else if (s[0].equals("back")) {
				if (dq.isEmpty()) {
					System.out.println("-1");
				} else {
					System.out.println(dq.peekLast());
				}
			}
		}
	}
}
 

 

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1874번 - 스택 수열  (0) 2022.03.20
[백준] 11866번 - 요세푸스 문제 0  (0) 2022.03.20
[백준] 10816번 - 숫자 카드 2  (0) 2022.03.20
[백준] 4949번 - 균형잡힌 세상  (0) 2022.03.20
[백준] 10845번 - 큐  (0) 2022.03.20
Comments