๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ฝ”๋”ฉํ…Œ์ŠคํŠธ/TIL

[99ํด๋Ÿฝ] 13์ผ์ฐจ ๋ฌธ์ œ: ํ

by moon101 2025. 2. 6.

 

์˜ค๋Š˜์€ ๋น„๊ธฐ๋„ˆ ๋ ˆ๋ฒจ์ด ์•„๋‹Œ ๋ฏธ๋“ค๋Ÿฌ ๋ ˆ๋ฒจ์— ๋„์ „ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์‚ฌ์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์—ฌ์„œ ใ… ใ…  ๊ทธ๋ƒฅ ๋น„๊ธฐ๋„ˆ ๋ ˆ๋ฒจ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ๋ฐฑ์ค€ ํ ๋ฌธ์ œ์˜€๊ณ  ์ €๋ฒˆ์— ํ’€์—ˆ๋˜ ์Šคํƒ ๋ฌธ์ œ์™€ ๋น„์Šทํ•ด์„œ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ArrayList๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋”๋‹ˆ ํ‹€๋ ธ๋‹ค๊ณ  ๋‚˜์™€์„œ LinkedList ๋ณ€๊ฒฝํ•˜๊ณ  ๋˜ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™€์„œ ์Šค์บ๋„ˆ๊ฐ€ ์•„๋‹Œ BufferedReader๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ–ˆ๋‹ค. ๋ฐ‘์— ์ฝ”๋“œ๋Š” GPT๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์„ฑ๋œ ๊ฑฐ๋ผ BufferedReader + StringBuilder ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์—ฐ์Šตํ•ด์•ผ๊ฒ ๋‹ค. 

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int N = Integer.parseInt(br.readLine());

        LinkedList<Integer> queue = new LinkedList<>();

        for (int i = 0; i < N; i++) {
            String command = br.readLine();

            if (command.startsWith("push")) {
                int value = Integer.parseInt(command.split(" ")[1]);
                queue.addLast(value);
            } else if (command.equals("pop")) {
                sb.append(queue.isEmpty() ? -1 : queue.pollFirst()).append("\n");
            } else if (command.equals("size")) {
                sb.append(queue.size()).append("\n");
            } else if (command.equals("empty")) {
                sb.append(queue.isEmpty() ? 1 : 0).append("\n");
            } else if (command.equals("front")) {
                sb.append(queue.isEmpty() ? -1 : queue.getFirst()).append("\n");
            } else if (command.equals("back")) {
                sb.append(queue.isEmpty() ? -1 : queue.getLast()).append("\n");
            }
        }
        System.out.print(sb); // ์ตœ์ข… ์ถœ๋ ฅ
    }
}

 

 

 

 

 

๋Œ“๊ธ€