YunDev

백준 5597번[C] - 풀이 본문

Programming/Baekjoon Program

백준 5597번[C] - 풀이

S준 2024. 1. 13. 14:36

 

 

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

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

www.acmicpc.net

 


 

#include <stdio.h>

int main() {
    int arr[100];
    int check[31] = {0};
    for(int i = 0; i < 28; i++) {
        scanf("%d", &arr[i]);
        check[arr[i]]++;
    }
    
    
    for(int i = 1; i < 31; i++) {
        if(check[i] == 0) {
            printf("%d\n", i);
        }
    }
   
    return 0;
}

 

풀이 : 과제를 제출한 28명을 입력받기 위해 반복문을 돌며 출석번호를 기준으로 입력받습니다. 그 다음, 입력받은 번호에 해당하는 배열 인덱스를 증가시키게 되고, 과제를 제출하지 않은 2명은 0으로 설정됩니다.
그리고 반복문을 돌며 값이 0인 인덱스부터 출력하면 가장 작은 순서대로 출력하기 위해 따로 비교할 필요없이 구할 수 있게됩니다.