안녕하세요. 오늘은 인기투표를 할 거예요.

문제

https://www.acmicpc.net/problem/30957

아이디어

개수를 세서 변수 B,S,A에 각각 담습니다.
만약 이 세 값이 모두 같다면 SCU를 출력합니다.
만약 그렇지 않다면 B,S,A 순서대로 최댓값과 같은지 비교합니다. 만약 같다면 그 문자를 출력해주면 됩니다.

소스코드

#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll N, i;
    char c;

    cin >> N;
    ll B = 0, S = 0, A = 0;
    for (i = 0; i < N; i++)
    {
        cin >> c;
        if (c == 'B') B++;
        else if (c == 'S') S++;
        else A++;
    }
    if (B == S && S == A) cout << "SCU";
    else
    {
        ll mx = max({ B,S,A });
        if (B == mx) cout << 'B';
        if (S == mx) cout << 'S';
        if (A == mx) cout << 'A';
    }
}


감사합니다.

0개의 댓글