본문 바로가기
[ 다먹살 ]/- Coding

[백준] 10845 큐

by 엉망으로살기 2021. 11. 13.
반응형

https://www.acmicpc.net/problem/10845

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

 

이와 비슷한 문제로 10828 스택(https://yoloaeee.tistory.com/142) 이 있다. 저 문제는 기존 자료구조 시간에 배울때처럼 node를 이용했다면 이번에는 그냥 자바 자체의 LinkedList 라이브러리를 이용해서 좀 더 간단하게 해결했다.

 


문제 및 입출력


코드

import java.util.LinkedList;
import java.util.Scanner;

public class Main
{
     public static void main(String[] args)
     {
         Scanner sc = new Scanner(System.in);
         LinkedList<Integer> q = new LinkedList<Integer>();
         StringBuilder sb = new StringBuilder();

         int n = sc.nextInt();

         for(int i=0; i<n; i++)
         {
             String input = sc.next();

             // 입력받는 명령어에 따라 구현
             if(input.equals("front"))
             {
                 sb.append(q.peekFirst()==null?-1:q.peekFirst());
                 sb.append("\n");
             }
             else if(input.equals("back"))
             {
                 sb.append(q.peekLast()==null?-1:q.peekLast());
                 sb.append("\n");
             }
             else if(input.equals("empty"))
             {
                 sb.append(q.isEmpty()==true?1:0);
                 sb.append("\n");
             }
             else if(input.equals("size"))
             {
                 sb.append(q.size());
                 sb.append("\n");
             }
             else if(input.equals("pop"))
             {
                 sb.append(q.peek()==null?-1:q.poll());
                 sb.append("\n");
             }
             else // queue에 push할 경우에는 출력 X
             {
                 String temp = sc.next();
                 q.add(Integer.parseInt(temp + ""));
             }
         }

         System.out.print(sb.toString());
         sc.close();
     }
}

 

반응형

'[ 다먹살 ] > - Coding' 카테고리의 다른 글

[백준] 1966 프린터 큐  (0) 2021.11.15
[백준] 15829 Hashing  (0) 2021.11.13
[백준] 1927 최소 힙  (0) 2021.11.12
[프로그래머스] 레벨2 괄호 변환  (0) 2021.11.11
[프로그래머스] 레벨2 메뉴 리뉴얼  (0) 2021.11.10

댓글