알고리즘 모음(C++)

백준 1371 - 가장 많은 글자(C++) 본문

백준

백준 1371 - 가장 많은 글자(C++)

공대생의 잡다한 사전 2023. 6. 3. 23:30

문제 링크입니다. https://www.acmicpc.net/problem/1371

 

1371번: 가장 많은 글자

첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이

www.acmicpc.net

문장을 입력 받은 뒤, 가장 많이 사용된 알파벳을 출력하는 문제입니다.

 

알파벳의 개수를 저장하는 배열을 하나 만든 뒤, 문자들이 사용될 때마다 해당 칸을 1씩 늘려줍니다.

 

입력이 끝난 뒤, 가장 많이 사용된 알파벳의 개수를 찾아주면 됩니다.

 

자세한 것은 코드를 참고해주세요.

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
#include <map>

using namespace std;

int alpha[26];

int main(){
    cin.tie(0);
    cout.tie(0);
    string str;
    while(getline(cin, str)){
        for(int i = 0; i < str.size(); i++){
            alpha[str[i] - 'a']++;
        }
    }
    string ans = "";
    int maxi = 0;
    for(int i = 0; i < 26; i++){
        if(maxi < alpha[i]){
            ans = "";
            maxi = alpha[i];
            ans += ('a' + i);
        }
        else if(maxi == alpha[i]) ans += ('a' + i);
    }
    cout << ans;
    return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요.

'백준' 카테고리의 다른 글

백준 1225 - 이상한 곱셈(C++)  (0) 2023.06.03
백준 1969 - DNA(C++)  (0) 2023.06.03
백준 17413 - 단어 뒤집기 2(C++)  (0) 2023.06.03
백준 5598 - 카이사르 암호(C++)  (0) 2023.06.02
백준 11655 - ROTC13(C++)  (0) 2023.06.01