배부른 마라토너

문제 링크: https://www.acmicpc.net/problem/10546

 

10546번: 배부른 마라토너

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

www.acmicpc.net

 

동명이인이 있을 수 있다고 하니 multimap을 통해 각 데이터를 받는다.
또한 다른 사람이므로 구분을 짓기 위해 value를 index로 받는다.
그 후 들어온 사람들의 명단을 통해 이름을 삭제하고, 남은 단 한명의 데이터를 출력한다.

 

  • 정답 코드

      #include<iostream>
      #include<map>
      using namespace std;
    
      int main() {
          ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
          multimap<string, int> memberlist;
          int n;
          cin >> n;
          for (int i = 0; i < n; i++) {
              string name;
              cin >> name;
              memberlist.insert(pair<string, int>(name, i));
          }
    
          while (--n) {
              string name;
              cin >> name;
              memberlist.erase(memberlist.find(name));
    
          }
          if (!memberlist.empty())
              cout << memberlist.begin()->first << "\n";
    
          return 0;
      }

'ProblemSolving' 카테고리의 다른 글

[BOJ] 1269_대칭 차집합  (0) 2021.02.08
[BOJ] 1276_교각 놓기  (0) 2021.02.07
[BOJ] 7785_회사에 있는 사람  (0) 2021.02.05
[BOJ] 5397_키로커  (0) 2021.02.04
[BOJ] 3085_사탕게임  (4) 2021.02.03
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기