Search
Duplicate
📗

단어 공부

주차
문제번호
1157
언어
C++
티어
브론즈
유형
구현
문자열
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

map을 이용하여 각 알파벳 누적
map의 value값을 기준으로 내림차순 정렬하고 첫번째와 두번째가 같다면 ?, 같지 않다면 첫번째 key값 출력

놓쳤던 부분

코드

3688 KB

40 ms

#include <iostream> #include <string> #include <map> #include <algorithm> #include <cctype> #include <utility> using namespace std; bool cmp(const pair<char, int> &a, const pair<char, int> &b) { return (a.second > b.second); } int main(void) { string input; map<char, int> m; char answer; int len; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> input; len = input.size(); for (int i = 0; i < len; i++) { if (m.find(toupper(input[i])) != m.end()) m[toupper(input[i])]++; else m[toupper(input[i])] = 1; } vector<pair<char, int> > v(m.begin(), m.end()); sort(v.begin(), v.end(), cmp); if (v[0].second == v[1].second) answer = '?'; else answer = v[0].first; cout << answer; return (0); }
C++
복사