리뷰
map을 사용하였고, map을 순회하기 위해 auto 형식을 처음으로 사용해 보았다.
문제 풀이
- 선수의 이름을 문자열로 받아와 주고 문자열의 첫번째를 key로 하는 map의 value를 1씩 올려주었다.
- map 전체를 순회하며 value 값이 5 이상일 경우 ans문자열에 key를 추가해 주었다.
- 만약 ans가 비었다면 PREDAJA를 출력, 아닐 경우 ans를 출력해 주면 된다.
참고 사항
없음
정답 코드
#include <iostream>
#include <map>
#include <algorithm>
using namespace std;
int main() {
map<char, int> dic;
int n;
cin >> n;
while (n--) {
string s;
cin >> s;
if (dic[s[0]]) dic[s[0]]++;
else dic[s[0]] = 1;
}
string ans = "";
for (auto it = dic.begin(); it != dic.end(); it++) {
if (it->second >= 5) ans += it->first;
}
if (ans.empty()) cout << "PREDAJA";
else cout << ans;
}
728x90
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 5347번 LCM C++ (3) | 2024.07.22 |
---|---|
백준 1940번 주몽 C++ 투 포인터 (4) | 2024.07.22 |
백준 1076번 저항 C++ (0) | 2024.07.21 |
백준 11091번 알파벳 전부 쓰기 C++ (0) | 2024.07.21 |
백준 11023번 더하기 3 C++ (0) | 2024.07.21 |