GitHubSeob

C++ / 백준 / 10546 / 배부른 마라토너 본문

Baekjoon/Silver

C++ / 백준 / 10546 / 배부른 마라토너

GitHubSeob 2022. 3. 31.

문제

https://www.acmicpc.net/problem/10546

 

10546번: 배부른 마라토너

마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명

www.acmicpc.net

문제풀이

프로그래머스 Level 1 완주하지 못한 선수 문제와 같다.

unordered_map을 이용해서 풀었다.

참가자의 이름을 입력받을 때는 runner[이름] 값을 +1을 했고,

N-1개의 완주한 참가자의 이름을 입력받을 때는 runner[이름] 값을 -1 했다.

iterator을 이용해 runner을 탐색하면서 value값이 0이 아닌 값을 찾으면 key값을 출력하고 종료한다.

 

코드

#include <iostream>
#include <unordered_map>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int N(0), idx(0);
	cin >> N;

	unordered_map<string, int>runner;

	string name;
	for (idx = 0; idx < N; ++idx) {
		cin >> name;
		runner[name]++;
	}

	for (idx = 0; idx < N - 1; ++idx) {
		cin >> name;
		runner[name]--;
	}

	unordered_map<string, int>::iterator iter;
	for (iter = runner.begin(); iter != runner.end(); ++iter) {
		if (iter->second != 0) {
			cout << iter->first;
			return 0;
		}
	}
}

 

'Baekjoon > Silver' 카테고리의 다른 글

C++ / 백준 / 2529 / 부등호  (0) 2023.06.11
C++ / 백준 / 1302 / 베스트셀러  (0) 2022.03.31
C++ / 백준 / 4358 / 생태학  (0) 2022.03.30
C++ / 백준 / 11286 / 절댓값 힙  (0) 2022.03.24
C++ / 백준 / 11279 / 최대 힙  (0) 2022.03.21