백준

백준 5597번: 과제 안 내신 분..? (C언어)

NamDoHyeon 2023. 6. 29. 22:54

백준 5597번: 과제 안 내신 분..? 링크

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

문제를 풀기 전 생각한 것

입력받을 배열 개수와 배열 크기, 초기값 정의해주기

배열에 과제를 한 학생 번호를 넣어줄 for 문, 숫자를 찾아줄 for 문

풀면서 어려웠던 점

과제를 내지 않은 학생을 어떻게 출력해야할지 생각이 나지 않았다

처음에는 배열에 다 넣어두고 30번 다 돌려볼려고 했다

오래걸려서 제출한 학생 번호 인덱스에 1을 넣는것으로 바꿨다

코드

#include <stdio.h>

int main()
{
    int student[31] = {0,};
    int num;

    for(int i=1; i<=28; i++){
        scanf("%d", &num);
        student[num] = 1;
    }

    for(int j=1; j<=30; j++){
        if(student[j] == 0) {
            printf("%d\n", j);
        }
    }
    return 0;
}

풀면서 배운 점

하나씩 비교하면서 풀 생각이었는데 부른 값에 1을 넣어두면 더 편해진다는 것을 알았다

반응형