https://www.acmicpc.net/problem/5597
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.
교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
<script>
#define _CRT_SEUCRE_NO_WARNING
#include <stdio.h>
int main(void)
{
int input[31] = {0, }; // 31개의 int형을 저장할 수 있는 배열을 선언하고 0으로 초기화 시킨다.
int num;
for (int i = 0; i < 28; i++) {
scanf("%d", &num);
input[num] = num;
/* input[num] = num : 28이 입력되었으면
input[28] = 0(처음에 모두 0으로 초기화) => input[28] = 28로 바꾸는 for문 */
}
for (int i = 1; i <= 30; i++) {
if (input[i] == 0) {
printf("%d\n", i);
/* input[i]가 처음에 초기화시킨 0 상태라면 값이 들어오지 않았다.
즉, 과제를 제출하지 않은것으로 간주 0부터 30까지 0인값을 printf해준다. */
}
}
return 0;
}
</script>