오늘 풀 문제는 단계별 풀어보기에 있는 백준 5597번 문제를 풀었다.
배열 안에 28가지의 숫자를 받아적고 1에서 30까지에 숫자 중 포함되어있지 않은 두 숫자를 출력하는 문제이다. 나는 BOOL 함수를 사용하여 이 문제를 풀었다. 먼저 배열에 개수를 만들고 입력된 해당 배열 숫자를 1로 바꾸고 그렇지 않은 것은 0으로 설정해놓았다. 그리고 마지막으로 해당 배열의 숫자가 영인 배열일 경우 출력하는 코드를 짰다.
#include <iostream>
using namespace std;
int main() {
int check;
bool array[31]={0,};
for(int i = 1; i<=28; i++){
cin>>check;
array[check]=1;
}
for(int n =1; n<=30; n++){
if(array[n]==0){
cout<<n<<"\n";
}
}
}
반복문에서 배열 숫자에 대해서 잠시 헷갈려서 브론즈5이었음에도 불구하고 좀 고생했던 문제였다. 다시 복습해야겠다 ㅎ