본문 바로가기
온라인저지

[BOJ] 1157번: 단어 공부

by plzfday 2018. 7. 26.

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

소문자, 대문자 구분해서 26칸짜리 배열에 다 집어넣고 가장 많이 있는 인덱스 + 'A' 출력!

#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false), cin.tie(0);
    string s;
    cin >> s;
    int al[26] = { 0, };
    for (auto &i : s)
    {
        if ('A' <= i && i <= 'Z')
            al[i - 'A']++;
        else
            al[i - 'a']++;
    }

    char maxC;
    int max = -1;
    for (int i = 0; i < 26; ++i)
    {
        if (max < al[i])
        {
            max = al[i];
            maxC = i + 'A';
        }
    }
    for (int i = 0; i < 26; ++i)
    {
        if (max == al[i] && maxC - 'A' != i)
        {
            cout << '?';
            return 0;
        }
    }
    cout << maxC;
    return 0;
}

 

'온라인저지' 카테고리의 다른 글

[BOJ] 10845번: 큐  (0) 2018.07.26
[BOJ] 10828번: 스택  (0) 2018.07.26
[BOJ] 1158번: 조세퍼스 문제  (0) 2018.07.26
[BOJ] 15904번: UCPC는 무엇의 약자일까?  (0) 2018.07.26
[BOJ] 11651번: 좌표 정렬하기 2  (0) 2018.07.26
[BOJ] 11650번: 좌표 정렬하기  (0) 2018.07.26

댓글