๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 10546๋ฒˆ - ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ

by ์•ˆ์ฃผํ˜• 2022. 6. 19.

๋ฌธ์ œ

 

10546๋ฒˆ: ๋ฐฐ๋ถ€๋ฅธ ๋งˆ๋ผํ† ๋„ˆ

๋งˆ๋ผํ† ๋„ˆ๋ผ๋ฉด ๊ตญ์ ๊ณผ ๋‚˜์ด๋ฅผ ๋ถˆ๋ฌธํ•˜๊ณ  ๋ˆ„๊ตฌ๋‚˜ ์ฐธ๊ฐ€ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๋ฐฑ์ค€ ๋งˆ๋ผํ†ค ๋Œ€ํšŒ๊ฐ€ ์—ด๋ฆฐ๋‹ค. 42.195km๋ฅผ ๋‹ฌ๋ฆฌ๋Š” ์ด ๋งˆ๋ผํ†ค์€ ๋ชจ๋‘๊ฐ€ ์ฐธ๊ฐ€ํ•˜๊ณ  ์‹ถ์–ดํ–ˆ๋˜ ๋งŒํผ ๋งค๋…„ ๋ชจ๋‘๊ฐ€ ์™„์ฃผํ•ด์™”๋‹ค. ๋‹จ, ํ•œ ๋ช…

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
#include <unordered_map>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N; cin>>N;
    string name;
    unordered_map<string,int> umap;
    for(int i=0; i<N; i++){
        cin>>name;
        umap[name]++;
    }
    for(int i=0; i<N-1; i++){
        cin>>name;
        umap[name]--;
    }
    for(auto it = umap.begin(); it!=umap.end(); it++){
        if(it->second!=0) cout<<it->first<<'\n';
    }
}

 

ํ’€์ด

๋‹จ์ˆœ map ์ž๋ฃŒ๊ตฌ์กฐ๋งŒ ํ™œ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

C++์—์„œ map์€ ๋ ˆ๋“œ ๋ธ”๋ž™ํŠธ๋ฆฌ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.  ์ž๋™์œผ๋กœ ํ‚ค๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์ด ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(logN)์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ O(1) ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๋Š” hashmap์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋น ๋ฅธ๋ฐ, C++์—์„œ hashmap์€ unorderd_map์œผ๋กœ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 

๋Œ“๊ธ€