YeJin's Footsteps

완주하지 못한 선수 본문

Computer Science & Engineering/알고리즘

완주하지 못한 선수

YeJinii 2021. 5. 2. 15:49

unordered_map : map과 달리 hash table을 사용해 탐색 속도에 O(1)이상의 시간복잡도를 가짐

 * unordered_map과 hash_map은 거의 유사한 stl이지만 hash_map은 다른 이름 공간(stdext)을 가져,

   unordered_map 사용이 더 나은 것 같음

 

사용방법

#include <unordered_map>

using namespace std;

unordered_map<key data type, value data type> 변수이름;

변수 이름.insert({key, value});

 

프로그래머스-완주하지 못한 선수

https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

 

제출코드

#include <string>
#include <vector>
#include <unordered_map>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    unordered_map<string, int> ans;
    
    for(auto p: participant){//참가한 선수에 해당하면 1 빼줌
        ans[p]--;
    }
    
    for(auto c: completion){//완료한 선수에 해당하면 1 더해줌
        ans[c]++;
    }
    
    for(auto a: ans){//페어 형태로 반복문 접근, ans의 second값이 음수면 완료하지 못한 선수이므로 걸러내기
        if(a.second<0){
            answer+=a.first;
        }
    }
    
    return answer;
}

auto : 자료형 추론 변수

'Computer Science & Engineering > 알고리즘' 카테고리의 다른 글

튜플  (0) 2021.05.02
크레인 인형 뽑기 게임  (0) 2021.05.02
next_permutation(start, end)  (0) 2021.04.18
SelectionSort(선택 정렬)  (0) 2021.04.16
겨울 방학_백준 문제 풀이(아이패드 기록)  (0) 2021.04.04
Comments