본문 바로가기
백준

[백준] 5597번 : 과제 안 내신 분..? – JAVA [자바]

by Hongwoo 2022. 8. 6.
반응형

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

 

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

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

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 5597번 과제 안 내신 분..?은 브론즈 5 난이도의 구현 문제이다. 이 문제에서는 30명의 학생이 있다. 그리고 30명 중의 28명이 과제를 제출하고 나머지 2명은 과제를 내지 않는다. 이때 과제를 내지 않은 2명의 학생의 번호를 작은 것부터 출력하면 된다.

 

이 문제는 boolean형 배열을 이용해서 풀 수 있다. boolean형 배열에서 true면 과제를 제출한 것이고 false이면 과제를 제출하지 않은 것이다. 즉, 28명의 학생 번호가 입력으로 주어지면 배열에서의 입력받은 인덱스를 true로 바꾼다. 그리고 마지막에 배열을 순회하면서 false인 인덱스를 출력하면 된다.

 

자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        boolean[] arr = new boolean[31];
        //온 사람은 출석 체크
        for (int i = 0; i < 28; i++) {
            int n = Integer.parseInt(br.readLine());
            arr[n] = true;
        }
        for (int i = 1; i <= 30; i++) {
            if (!arr[i]) System.out.println(i);  //불리지 않은 사람 출력
        }
    }
}

 

 

반응형

댓글