-
[백준-10845] 큐 - Java공부/백준 2022. 6. 9. 20:36728x90
https://www.acmicpc.net/problem/10845
백준 10845번 큐 자바 풀이
난이도: 실버4
큐를 구현하는 문제이다.
push일 경우 queue.add()를 사용하여 구현하고,
pop일 경우 queue.poll()을 이용하여 구현하고,
size일 경우 queue.size()를 이용하여 구현하고,
empty일 경우 queue.isEmpty()를 이용하여 true/false 여부로 구현하고,
front일 경우 queue.peek()으로 구현하고,
back일 경우 마지막으로 queue.add()일 때 저장해놓은 변수로 확인 가능하도록 구현한다.
코드
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class back10845 {public static void main(String args[]) throws NumberFormatException, IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringBuilder sb = new StringBuilder();int n=Integer.parseInt(br.readLine());Queue<Integer> queue=new LinkedList<>();int back=0;for(int i=0;i<n;i++){String str=br.readLine();if(str.contains("push")){String a[]=str.split(" ");queue.add(Integer.parseInt(a[1]));back=Integer.parseInt(a[1]);}else if(str.contains("pop")){if(queue.isEmpty())sb.append(-1).append('\n');elsesb.append(queue.poll()).append('\n');}else if(str.contains("size")){sb.append(queue.size()).append('\n');}else if(str.contains("empty")){if(queue.isEmpty())sb.append(1).append('\n');elsesb.append(0).append('\n');}else if(str.contains("front")){if(queue.isEmpty())sb.append(-1).append('\n');elsesb.append(queue.peek()).append('\n');}else{if(queue.isEmpty())sb.append(-1).append('\n');elsesb.append(back).append('\n');}}System.out.println(sb);}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-25285] 심준의 병역판정검사 - Java (0) 2022.06.12 [백준-1676] 팩토리얼 0의 개수 - Java (0) 2022.06.10 [백준-9012] 괄호 - Java (0) 2022.06.08 [백준-1920] 수 찾기 - Java (0) 2022.06.08 [백준-1010] 다리 놓기 - Java (0) 2022.06.08