전체 코드
#include <iostream>
int main()
{
int arr[31] = { 0, };
int num;
for (int i = 1; i <= 28; i++)
{
std::cin >> num;
arr[num] = 1;
}
for (int i = 1; i <= 30; i++)
{
if (arr[i] == 0)
std::cout << i << std::endl;
}
}
풀이
- 번호는 최대 30번임, arr[30]을 선언하면 0부터 29까지 이용 가능, 인덱스를 30까지 이용하기 위해 arr[31]로 선언
- 출석하면 1, 아니면 0의 값을 가지도록 미리 0으로 전체초기화
int arr[31] = { 0, };
- 1부터 28까지 반복하는 반복문 : 입력을 28번 받기 때문
- num값(출석번호)을 입력받음
- 해당 num을 인덱스로 가지는 배열의 값을 1로 설정
for (int i = 1; i <= 28; i++)
{
std::cin >> num;
arr[num] = 1;
}
- 1부터 30까지 총 학생수만큼 반복하는 반복문
- 만약 해당 인덱스가 0이라면 해당 i값(번호) 출력
for (int i = 1; i <= 30; i++)
{
if (arr[i] == 0)
std::cout << i << std::endl;
}