728x90
Hash Map ์ฌ์ฉ ์์, ํด์๋งต, code tree, cpp, ์๋ฃ๊ตฌ์กฐ, ๋ฌธ์ , ์์
๋ฌธ์
n๊ฐ์ ๋ช ๋ น์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ช ๋ น์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์ธ์. ๋ช ๋ น์ ์ข ๋ฅ๋ ํฌ๊ฒ 3๊ฐ์ง ์ ๋๋ค.
- add k v : (k, v) ์์ hashmap์ ์ถ๊ฐํฉ๋๋ค. key๊ฐ k, value๊ฐ v๋ผ๋ ๋ป์ ๋๋ค. ์ด๋ ๋ง์ฝ ๋์ผํ k๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด, v๋ก ๋ฎ์ด์๋๋ค.
- remove k : key๊ฐ k์ธ ์์ ์ฐพ์ hashmap์์ ์ ๊ฑฐํฉ๋๋ค. ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- find k : key๊ฐ k์ธ ์์ด hashmap์ ์๋์ง๋ฅผ ํ๋จํฉ๋๋ค. ์๋ค๋ฉด ํด๋นํ๋ value๋ฅผ ์ถ๋ ฅํ๊ณ , ์๋ค๋ฉด None์ ์ถ๋ ฅํฉ๋๋ค.
์ ๋ ฅ ํ์
์ฒซ ๋ฒ์งธ ์ค์๋ n์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค ๋ถํฐ๋ n๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ ๋ช ๋ น์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋๋ค. ๊ฐ ๋ช ๋ น์ ์ฃผ์ด์ง๋ key์ value๋ ์ ๋ถ ์ซ์์ ๋๋ค. ๋ช ๋ น๋ค์ ์์๋๋ก ์ํ๋์ด์ผ ํฉ๋๋ค.
- 1 ≤ n ≤ 100,000
- 1 ≤ ์ฃผ์ด์ง๋ ์ซ์ ≤
์ถ๋ ฅ ํ์
๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํฉ๋๋ค.
๋์ ํ์ด
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main() {
string st;
int n;
int k=0; int v=0;
unordered_map<int, int> m;
cin >> n;
for(int i=0; i<n; ++i){
cin >> st >> k;
if(st=="add") {
cin >> v;
m[k] = v;
}
if(st=="remove") m.erase(k);
if(st=="find"){
if(m.find(k) != m.end()){
cout << m[k]<<"\n";
}else{
cout<<"None"<<"\n";
}
}
}
return 0;
}
๋ฌธ์ ์ถ์ฒ ์ฝ๋ํธ๋ฆฌ
728x90
'๐ ์๊ณ ๋ฆฌ์ฆ > Code Tree' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๋ํธ๋ฆฌ] TreeMap ์ฐ์ต๋ฌธ์ (0) | 2023.02.09 |
---|---|
[์ฝ๋ํธ๋ฆฌ] Tree Map (0) | 2023.02.09 |
[์ฝ๋ํธ๋ฆฌ] Hash Map (0) | 2023.02.07 |
[์ฝ๋ํธ๋ฆฌ] ๊ณต๊ฐ๋ณต์ก๋ (0) | 2023.02.06 |
[์ฝ๋ํธ๋ฆฌ] ๋ฐ๋ณต๋ฌธ์ ์๊ฐ๋ณต์ก๋(2) (0) | 2023.02.06 |