๋ฐ์ํ
https://www.acmicpc.net/problem/1157
๋ฌธ์
์ํ๋ฒณ ๋์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋จ์ด์ ๊ธธ์ด๋ 1,000,000์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก ์ถ๋ ฅํ๋ค. ๋จ, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ?๋ฅผ ์ถ๋ ฅํ๋ค.
#include <iostream>
#include <algorithm>
using namespace std;
int main () {
int alphabet[26] = {0};
string word;
cin >> word;
//์ํ๋ฒณ ๋ฐฐ์ด์ ๊ฐ ์ํ๋ฒณ์ด ๋์จ ํ์ ์ ์ฅ (๋์๋ฌธ์ ๊ตฌ๋ถ์์ด)
for(int i=0; i<word.length(); i++){
if(word[i] < 'a')
alphabet[word[i] - 'A']++;
else
alphabet[word[i]-'a']++;
}
//๊ฐ์ฅ ๋ง์ด ๋์จ ์ํ๋ฒณ์ ์ธ๋ฑ์ค ๊ตฌํ๊ธฐ
int max=0, max_index=0;
for(int i=0; i<26; i++){
if(max < alphabet[i]){
max = alphabet[i];
max_index = i;
}
}
//์ํ๋ฒณ ๋ฐฐ์ด ์ ๋ ฌํด์ ์ ์ผ ๋ง์ด๋์จ ํ์[26] ์ ๋๋ฒ์งธ๋ก ๋ง์ด ๋์จ ํ์[25]๊ฐ ๊ฐ์ผ๋ฉด ? ์ถ๋ ฅ
sort(alphabet, alphabet+26);
if(alphabet[25] == alphabet[24]){
cout << "?";
}
else { //์๋๋ผ๋ฉด ์ต๋๊ฐ์ ์ธ๋ฑ์ค ์ถ๋ ฅ
cout << (char)(max_index+'A');
}
return 0;
}
๋ฐ์ํ
'๐ฆ Chango > ๐ฅ BOJ ๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 2908๋ฒ : ์์ (0) | 2021.10.06 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2021.10.05 |
[BOJ][C++] ๋ฐฑ์ค 1316๋ฒ : ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2021.10.03 |
[BOJ][C++] ๋ฐฑ์ค 2675๋ฒ : ๋ฌธ์์ด ๋ฐ๋ณต (0) | 2021.10.03 |
[BOJ][C++] ๋ฐฑ์ค 10809๋ฒ: ์ํ๋ฒณ ์ฐพ๊ธฐ (0) | 2021.10.03 |