[boj](b 1)1157単語学習
質問する
リンク
に答える
単語のアルファベットを1つずつ数えて、アルファベットの個数の配列に保存し、完全に検索することで最も多くのアルファベットを得ることができます.
注意事項
単語のアルファベットを1つずつ数えて、アルファベットの個数の配列に保存し、完全に検索することで最も多くのアルファベットを得ることができます.
注意事項
結果値は大文字で出力する必要があるため、最初はすべて大文字に変換すれば
最初の条件文に最も使用頻度の高いアルファベットが複数存在する場合は、変数flag++を使用して識別します.
2番目の条件文なので、一番多く使われているアルファベットが複数ある場合、flagは2以上から始まります.
コード#コード# #include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int alp[26];
fill(alp, alp + 26, 0);
string str;
cin >> str;
for(int i=0;i<str.length();i++){
if(str[i] >= 'a' && str[i] <= 'z') str[i] -= ('a'-'A'); // 대문자로 변환
alp[int(str[i] - 'A')]++; // 카운트
}
int max_alp_idx = -1, max_cnt = -1, flag = 0;
for (int i = 0; i < 26; i++)
{
if (max_cnt < alp[i]){
max_alp_idx = i;
max_cnt = alp[i];
flag = 0;
}
if (max_cnt == alp[i])
flag ++; // 가장 많이 사용된 알파벳이 여러 개 존재하는 경우 판별
}
if (flag >= 2)
cout << "?" << "\n"; // 위 반복문 첫번째 조건문에서 flag가 ++ 된 후 아래 주건문에 들어가므로 가장 많이 사용된 알파벳이 여러 개 존재하는 경우는 flag가 2부터
else
cout << char(max_alp_idx + 'A') << "\n";
return 0;
}
Reference
この問題について([boj](b 1)1157単語学習), 我々は、より多くの情報をここで見つけました
https://velog.io/@peanut_/boj-b1-1157-단어-공부
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int alp[26];
fill(alp, alp + 26, 0);
string str;
cin >> str;
for(int i=0;i<str.length();i++){
if(str[i] >= 'a' && str[i] <= 'z') str[i] -= ('a'-'A'); // 대문자로 변환
alp[int(str[i] - 'A')]++; // 카운트
}
int max_alp_idx = -1, max_cnt = -1, flag = 0;
for (int i = 0; i < 26; i++)
{
if (max_cnt < alp[i]){
max_alp_idx = i;
max_cnt = alp[i];
flag = 0;
}
if (max_cnt == alp[i])
flag ++; // 가장 많이 사용된 알파벳이 여러 개 존재하는 경우 판별
}
if (flag >= 2)
cout << "?" << "\n"; // 위 반복문 첫번째 조건문에서 flag가 ++ 된 후 아래 주건문에 들어가므로 가장 많이 사용된 알파벳이 여러 개 존재하는 경우는 flag가 2부터
else
cout << char(max_alp_idx + 'A') << "\n";
return 0;
}
Reference
この問題について([boj](b 1)1157単語学習), 我々は、より多くの情報をここで見つけました https://velog.io/@peanut_/boj-b1-1157-단어-공부テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol