inblog logo
|
[HootJem] 개발 기록 블로그
    algorithm

    [Java] 백준 18258번 : 큐 2

    18258번 : 큐 2
    HootJem's avatar
    HootJem
    Aug 16, 2024
    [Java] 백준 18258번 : 큐 2
    문제 링크 https://www.acmicpc.net/problem/18258
    notion image
     

    접근법

    큐를 사용하여 입력문에 적절한 수행하는 프로그램을 만든다. push 는 offer pop 은 poll (값을 리턴하고 삭제한다) front 는 peek(값만 리턴함) back 을 위해 저장을 할 때 last 에 마지막에 입력된 수를 저장함.

    풀이

    public class Main_18258 { 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> queue = new LinkedList<>(); int last = -1; for(int i = 0 ; i<n ; i++) { String k = br.readLine(); String[] list = k.split(" "); String name = list[0]; switch (name) { case "push": { int value = Integer.parseInt(list[1]); queue.offer(value); last = value; break; } case "pop": { if(queue.isEmpty()) { bw.write("-1\n"); }else { bw.write(queue.poll()+"\n"); } break; } case "size": { bw.write(queue.size()+"\n"); break; } case "empty": { bw.write(queue.isEmpty() ? "1\n" : "0\n"); break; } case "front": { if(queue.isEmpty()) { bw.write("-1\n"); }else { bw.write(queue.peek()+"\n"); } break; } case "back": { if (queue.isEmpty()) { bw.write("-1\n"); } else { bw.write(last + "\n"); } break; } } } bw.flush(); bw.close(); br.close(); } }
    Share article

    [HootJem] 개발 기록 블로그

    RSS·Powered by Inblog