백준 문제풀이/백준 Silver

백준 1813 - 논리학 교수 [C/C++]

LKBaekjoon 2024. 9. 1. 17:48
반응형

1813번: 논리학 교수 (acmicpc.net)

문제 및 입력과 출력 예시

 

 상당히 쉬운 실버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;
}
반응형