알고리즘 공부/C++

백준 1159번 농구 경기 C++

마달랭 2024. 7. 21. 18:07

리뷰

map을 사용하였고, map을 순회하기 위해 auto 형식을 처음으로 사용해 보았다.

 

문제 풀이

  1. 선수의 이름을 문자열로 받아와 주고 문자열의 첫번째를 key로 하는 map의 value를 1씩 올려주었다.
  2. map 전체를 순회하며 value 값이 5 이상일 경우 ans문자열에 key를 추가해 주었다.
  3. 만약 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