[백준] 5597번: 과제 안 내신 분..?_java

응갱·2023년 3월 3일
0

백준

목록 보기
46/56
post-thumbnail

📎문제

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.

교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.

📎입력

입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다.

📎출력

출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다.

📎설명

인덱스를 활용하여 문제를 해결하였다.
boolean형 배열을 선언하고 숫자가 입력되면 해당되는 숫자의 인덱스에 true를 저장하도록 하였다.
이후 반복문을 통해 true가 저장되어있는 배열이 아니면 번호가 불리지 않은 거라 해당 번호인 인덱스를 출력하도록 하였다.

📎코드


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean[] arr = new boolean[31];
        int k=0;
        for(int i=0;i<28;i++){
            k=sc.nextInt();
            arr[k]=true;
        }
        for(int i=1;i<arr.length;i++){
            if(arr[i]==false){
                System.out.println(i);
            }
        }
    }
}
profile
🥔 한 덩이

0개의 댓글