ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 완주하지 못한 선수 hash map 사용
    프로그래머스알고리즘 2020. 10. 1. 16:33
    #include <string>
    #include <vector>
    #include<iostream>
    #include<unordered_map>
    using namespace std;
    
    string solution(vector<string> participant, vector<string> completion) {
       
       unordered_map<string, int> strMap;
    
    	for (auto elem : participant)
    	{
    		strMap[elem]++;
    		
    	}
        
        for (auto elem : completion)
    	{
    		strMap[elem]--;
    	}
        
        for (auto p : strMap)
    	{
    		if (p.second > 0)
    		{
    			return p.first;
    		}
    	}
    }

     

    순차적으로 participant의 데이터를 map에 적재합니다.

    participant의 값이 "a" , "b" , "c" 일 경우

    a 1

    b 1

    c 1

     

    이렇게 map의 key 와 value 을 활용하여 해시테이블을 만듭니다.

     

    다음으로

     

    completion의 값이 "a" , "b" 일 경우

     

    a 0

    b 0 

    c 1

     

    이렇게 각각의 value값을 1씩 감소시켜줍니다.

     

    이런 방법으로 해시테이블 데이터를 처리하면

     

    결국 value값이 1인 값만 반환해주면 문제가 해결됩니다.

     

    test code

    #include <string>
    #include<iostream>
    #include<unordered_map>
    using namespace std;
    
    int main() {
    	vector<string> participant = { "b","c","a" };
    	vector<string> completion = { "b","c"};
    	unordered_map<string, int> strMap;
    	for (auto elem : participant)
    	{
    		strMap[elem]++;
    		
    	}
    
    	//map 출력
    	/*
    	for (auto p : strMap)
    	{
    		cout << p.first << " " << p.second << endl;
    	}
    	*/
    
    	for (auto elem : completion)
    	{
    		strMap[elem]--;
    	}
    
    	//map 출력
    	/*
    	for (auto p : strMap)
    	{
    		cout << p.first << " " << p.second << endl;
    	}
    	*/
    
    	for (auto p : strMap)
    	{
    		if (p.second > 0)
    		{
    			cout << p.first;
    		}
    	}
    }

     

    twpower.github.io/91-how-to-use-map-in-cpp

     

    [C++] C++ STL map 기본 사용법과 예제

    Practice makes perfect!

    twpower.github.io

    ldgeao99.tistory.com/379

    '프로그래머스알고리즘' 카테고리의 다른 글

    완주하지 못한 선수 unordered_map  (0) 2021.03.10
    위장  (0) 2020.10.01
    완주하지 못한 선수  (0) 2020.10.01
    콜라츠 추측  (0) 2020.10.01
    수박문제  (0) 2020.10.01
Designed by Tistory.