99클럽 코테 스터디 18일차 TIL - 급식줄 queue

수삼·2024년 11월 14일
0

코딩테스트

목록 보기
23/44

  1. 최대 대기 인원수 / 숫자가 제일 작은 학번 담을 변수 선언
        Queue<Integer> queue = new LinkedList<>();

        int maxWaiting = 0;
        int minStdNo = 0;
  1. 1인 경우 큐에 넣어주고 최대값 체크해서 값 갱신
    2인 경우 poll로 제거
        for (int i = 0; i < n; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            String nextToken = st.nextToken();
            if (nextToken.equals("1")) {
                int stdNo = Integer.parseInt(st.nextToken());
                queue.offer(stdNo);

                if (queue.size() > maxWaiting) {
                    maxWaiting = queue.size();
                    minStdNo = stdNo;
                } else if (queue.size() == maxWaiting) {
                    if (minStdNo > stdNo) {
                        minStdNo = stdNo;
                    }
                }
            } else if (nextToken.equals("2")) {
                queue.poll();
            }
        }
        System.out.println(maxWaiting + " " + minStdNo);
    }
}

0개의 댓글