Algorithm

백준 5597번 JAVA (과제 안 내신 분..?)

Geon_Ho 2023. 2. 17. 16:09

5597번 문제는 30개의 숫자 중에서 제시되지 않은 숫자를 찾아 결과값으로 출력하는 문제이다.

 

문제 해결을 위해 boolean 배열을 이용하였고


반복해서 입력받은 숫자들을 인덱스로 활용해 해당 배열의 값을 true로 변환시켜 준 다음

 

완료 후 다시 반복문을 통해 인덱스 1부터 30까지 돌려주어 

false로 남아있는 인덱스 값을 출력해주는 과정을 통해 해결하였다.


 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        boolean doHomework[] = new boolean[31];
        int studentNum;
        for (int i = 0; i < 28; i++){            // 제출한 학생 체크를 위한 반복문
            studentNum = Integer.parseInt(br.readLine());
            doHomework[studentNum] = true;
        }
        for (int i = 1; i < 31; i++){            // 제출하지 않은 학생 체크를 위한 반복문
            if (doHomework[i] == false){
                System.out.println(i);
            }
        }
        br.close();
    }
}

 

 

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

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

www.acmicpc.net

 

 

»  제가 작성한 글의 내용 중 잘못된 부분 및 수정해야 할 사항이 있으면 댓글로 말씀부탁드립니다.

확인 후 다시 공부하여 수정하도록 하겠습니다. 끝까지 읽어주셔서 감사합니다 !! 😀