๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜( Level 1)

by ์•ˆ์ฃผํ˜• 2021. 10. 22.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜

์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>
#include <map>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    
    map<string, int> people;
    
    for(string par: participant) people[par]++;
    for(string comple: completion) people[comple]--;
    for(auto it = people.begin(); it!=people.end(); it++){
        if(it->second!=0){
            answer = it->first;
            return answer;
        }
    }
    return answer;
}

 

ํ’€์ด(3๋ถ„)

๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— map์„ ํ†ตํ•ด ํ•ด๋‹น ์ด๋ฆ„์„ key๋กœ ์žก๊ณ  value๋Š” ์ธ์›์ˆ˜๋กœ ์žก์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™„์ฃผํ–ˆ์„ ๋•Œ value๋ฅผ ๊ฐ์†Œ์‹œ์ผœ ์ตœ์ข…์ ์œผ๋กœ value๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์ด๋ฏ€๋กœ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ๋” ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๋Œ“๊ธ€