본문 바로가기

Algorithm/String

(C++) - 백준(BOJ) 1371번 : 가장 많은 글자 답

반응형

www.acmicpc.net/problem/1371

 

1371번: 가장 많은 글자

첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다.

www.acmicpc.net

문자열을 다루는 문제였습니다. eof 즉 0을 만나면 입력을 종료해야합니다.

 

풀이방법

  1. 알파벳 개수를 세줍니다.

  2. 가장 큰 개수를 가진 알파벳을 순서대로 출력해줍니다.

Code

#include <bits/stdc++.h>
using namespace std;
int big;
int alpha[26];
int main() {
    while (1) {
        char c = 0;
        cin >> c;
        if (c == 0) break;
        if ('a' <= c && c <= 'z') alpha[c - 'a']++; 
    }
    for (int i = 0; i < 26; i++)
        if (big < alpha[i]) 
            big = alpha[i];

    for(int i = 0; i < 26; i++)
        if(alpha[i]==big) 
            printf("%c",i + 'a');
}