Home 99클럽 코테 스터디 18일차 TIL
Post
Cancel

99클럽 코테 스터디 18일차 TIL

문제

BOJ 26042 - 식당 입구 대기줄

해결 방법

  1. 큐를 선언하고 입력에 맞춰 문제의 내용을 구현해 준다.

정답 코드 - JAVA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringBuilder sb = new StringBuilder();

        Queue<Integer> q = new LinkedList<>();
        int n = Integer.parseInt(br.readLine());
        int max = 0;
        int ret = n;
        for (int i = 0; i < n; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            if (a == 1) {
                int b = Integer.parseInt(st.nextToken());
                q.add(b);
                if (q.size() > max) {
                    max = q.size();
                    ret = b;
                } else if (q.size() == max) {
                    ret = Math.min(ret, b);
                }
            } else {
                q.poll();
            }
        }
        sb.append(max).append(" ").append(ret).append("\n");

        bw.write(String.valueOf(sb));
        bw.flush();
    }
}

오늘의 회고

큐를 사용하면 손쉽게 해결할 수 있는 문제였다.

This post is licensed under CC BY 4.0 by the author.