반응형
문제 링크
코드
#include <bits/stdc++.h>
using namespace std;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
vector<int> v(26, 0);
string s;
cin >> s;
for (auto c : s) {
if (c >= 'a') c -= 'a' - 'A';
v[c - 'A']++;
}
int mx = *max_element(v.begin(), v.end());
if (mx == 0) {
cout << '?';
return 0;
}
int cnt = 0, mx_i;
for (int i = 0; i < 26; i++) {
if(v[i] == mx) {
cnt++;
mx_i = i;
}
}
if (cnt > 1) cout << '?';
else cout << (char)(mx_i + 'A');
}
설명
max_element를 사용할 때 유의할 점은 값 자체를 반환하지 않고 값의 주소를 반환한다는 점이다.
(주의) 기록용으로 작성한 글입니다. 좋은 코드가 아닐 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[백준/BOJ] 1260번 - DFS와 BFS (C++) (0) | 2022.03.21 |
---|---|
[백준/BOJ] 1181번 - 단어 정렬 (C++) (0) | 2022.03.21 |
[백준/BOJ] 1159번 - 농구 경기 (C++) (0) | 2022.03.21 |
[백준/BOJ] 1065번 - 한수 (C++) (0) | 2022.03.21 |
[백준/BOJ] 1026번 - 보물 (C++) (0) | 2022.03.21 |
댓글