백준 문제풀이/백준 Silver
백준 1813 - 논리학 교수 [C/C++]
LKBaekjoon
2024. 9. 1. 17:48
반응형
상당히 쉬운 실버5 문제이다. 문제가 겉보기 난이도가 좀 있는데, 묻고자 하는 바를 똑바로 살펴보면 금방 풀 수 있는 문제이다.
우선 n개의 말이 참이다 라는 문장이 n개가 등장했다면 그것이 답이 될 것이다.
그렇다면 배열에 인덱스에 값들을 넣어놨다가, 일일이 확인해보면서 내려가면 답을 찾을 수 있지 않을까? 라는게 나의 생각이었고, 단박에 통과했다.
아래는 C++로 작성한 코드이다.
#include <iostream>
#include <algorithm>
using namespace std;
int num, what;
int cham[51] = {0,};
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> num;
for (int i = 0; i < num; i++)
{
cin >> what;
cham[what]++;
}
for (int i = 50; i >= 0; i--)
{
if(cham[i]==i){cout<<i; return 0;}
}
cout << -1;
return 0;
}
반응형