1157번 - 단어 공부
로직은
1.단어 갯수 세기
2.max 값 찾기
3.max 값 여러개인지 찾기
4.max 값 출력
<정답 코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include<iostream> #include<string> using namespace std; int alpha[26]; int main() { string s; cin >> s; for (int i = 0; i < s.size(); i++) { if (s[i] >= 'a' && s[i] <= 'z') { alpha[s[i] - 'a']++; } if (s[i] >= 'A' && s[i] <= 'Z') { alpha[s[i] - 'A']++; } } int max = -1, cnt = 0, num; for (int i = 0; i < 26; i++) { max = alpha[i] > max ? alpha[i] : max; } for (int i = 0; i < 26; i++) { if (alpha[i] == max) { cnt++; num = i; } } if (cnt > 1) { cout << "?" << endl; } else { cout << char(num + 'A') << endl; } return 0; } | cs |
반응형