728x90

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

 

5597번: 과제 안 내신 분..?

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

www.acmicpc.net

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

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

 

 

 

 

 

풀이)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 30명의 학생 중 28명이 제출한 출석번호 배열
        int[] attend = new int[30];

        // 제출한 출석번호를 받아서 배열에 체크
        for (int i = 0; i < 28; i++) {
            int std = sc.nextInt();
            attend[std - 1] = 1;
        }

        // 제출하지 않은 학생의 출석번호 찾기
        int missingStudent1 = -1;
        int missingStudent2 = -1;

        for (int i = 0; i < attend.length; i++) {
            if (attend[i] == 0) {
                if (missingStudent1 == -1) {
                    missingStudent1 = i + 1;
                } else {
                    missingStudent2 = i + 1;
                    break;
                }
            }
        }

        // 결과 출력
        System.out.println(missingStudent1);
        System.out.println(missingStudent2);
    }
}
728x90