🔍문제
시간 제한 |
메모리 제한 |
제출 |
정답 |
맞힌 사람 |
정답 비율 |
2 초 |
128 MB |
9458 |
3568 |
2980 |
39.097% |
문제
영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다.
어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이상 있다.
출력
첫째 줄에 가장 많이 나온 문자를 출력한다. 여러 개일 경우에는 알파벳 순으로 앞서는 것부터 모두 공백없이 출력한다.
예제 입력 1 복사
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| english is a west germanic
language originating in england
and is the first language for
most people in the united
kingdom the united states
canada australia new zealand
ireland and the anglophone
caribbean it is used
extensively as a second
language and as an official
language throughout the world
especially in common wealth
countries and in many
international organizations
|
예제 출력 1 복사
예제 입력 2 복사
예제 출력 2 복사
예제 입력 3 복사
예제 출력 3 복사
예제 입력 4 복사
예제 출력 4 복사
예제 입력 5 복사
1
2
3
4
5
6
7
8
9
| amanda forsaken bloomer meditated gauging knolls
betas neurons integrative expender commonalities
latins antidotes crutched bandwidths begetting
prompting dog association athenians christian ires
pompousness percolating figured bagatelles bursted
ninth boyfriends longingly muddlers prudence puns
groove deliberators charter collectively yorks
daringly antithesis inaptness aerosol carolinas
payoffs chumps chirps gentler inexpressive morales
|
📝내 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <iostream>
#include <vector>
#include <algorithm>
#define ALPHA 97
int main()
{
char c;
std::vector<int> countTable(26);
while (std::cin >> c)
{
if ('a' <= c && c <= 'z')
++countTable[c - ALPHA];
}
int max = *std::max_element(countTable.begin(), countTable.end());
for (int i = 0; i < countTable.size(); i++) {
if (countTable[i] == max) {
std::cout << (char)(i + ALPHA);
}
}
}
|
BOJ 카테고리 내 다른 글 보러가기
댓글남기기