- Today
- Total
- ์๋ฐ
- spring
- ๋ค์ต์คํธ๋ผ
- database
- ์กธ์ ์ํ
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐฑ์ค
- ๋ฒจ๋งํฌ๋
- CS
- Algorithm
- MST
- Graph
- ๋ฐฑ์๋
- dp
- OOP
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- tree
- java
- ํ๋ก๊ทธ๋๋จธ์ค
- PS
- ์์์ ๋ ฌ
- BFS
- array
- ๊ทธ๋ฆฌ๋
- ์๋ฐ์์ ์
- ๋ฌธ๋ฒ
- pytorch
- leetcode
- ๊ตฌํ
- ์ธํด
Partially Committed
[2022 KAKAO BLIND RECRUITMENT] ์ ๊ณ ๊ฒฐ๊ณผ๋ฐ๊ธฐ ๋ณธ๋ฌธ
[2022 KAKAO BLIND RECRUITMENT] ์ ๊ณ ๊ฒฐ๊ณผ๋ฐ๊ธฐ
WonderJay 2022. 6. 26. 00:23https://programmers.co.kr/learn/courses/30/lessons/92334
string(id), set<string> (id ๋ฅผ ์ ๊ณ ํ ์ฌ๋๋ค)์ key - value ๋ก ๊ฐ์ง๋ unordered_map ์ ์ฌ์ฉํ๋ค.
ํ ์ ์ ๊ฐ ๋ค๋ฅธ ์ ์ ๋ฅผ 2๋ฒ ์ด์ ์ ๊ณ ํ ๊ฒ์ 1๋ฒ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ ์ ๊ฑฐํ๋ set ์ ์ฌ์ฉํ๋ค.
report ๋ฐฐ์ด์ ๋์์ฐ๊ธฐ๋ก ๊ตฌ๋ถ๋์ด ์ ๋ณด๊ฐ ๋ค์ด์จ๋ค. (์ ๊ณ ํ์ฌ๋ ์ ๊ณ ๋ฐ์์ฌ๋)
๊ทธ๋ฌ๋ฏ๋ก ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ํ์ฑ์ด ํ์ํ๋ฐ, ์ด๋ stringstream ์ผ๋ก ์ฝ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
report ๋ฅผ ์ํํ๋ฉฐ ๋ฌธ์์ด์ ํ์ฑํด ์ ๊ณ ํ์ฌ๋๊ณผ ์ ๊ณ ๋ฐ์ ์ฌ๋์ id ๋ฅผ ๋ถ๋ฆฌํ๋ค
report_map[second].insert(first) ์ ์ํํ๋๋ฐ, ์ด๋
second ๋ผ๋ ์ด๋ฆ์ id ์ ํด๋นํ๋ value ๊ฐ์ธ set<string> ์ first ๋ผ๋ ์ด๋ฆ์ id ๊ฐ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ inserting ๋๋ค๋ ๊ฒ์ด๋ค.
์ดํ, report_map ์ ์ํํ์ฌ set ์ size ๊ฐ k ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ํด์
set ์ ์ํํ์ฌ, ํด๋นํ๋ id ์ index ๋ฅผ ++ ํด์ฃผ๋ฉด๋๋ค.
์ด๋ index ๋ ์ด๊ธฐ์ index ๋ฅผ ์ ์ฅํ๋ unordered_map<string, int> id_map; ์ ๋ง๋ค๊ณ
for (int i = 0; i < id_list.size(); i++)
{
id_map.insert(make_pair(id_list[i], i));
}
์ ๊ฐ์ด ์ด๊ธฐํํด์ฃผ์๋ค.
#include <string>
#include <vector>
#include <unordered_map>
#include <sstream>
#include <iostream>
#include <set>
using namespace std;
vector<int> solution(vector<string> id_list, vector<string> report, int k) {
vector<int> answer(id_list.size(), 0); // answer ์ด๊ธฐํ
unordered_map<string, int> id_map;
for (int i = 0; i < id_list.size(); i++)
{
id_map.insert(make_pair(id_list[i], i));
}
unordered_map<string, set<string>> report_map;
for (auto ele : report)
{
stringstream ss(ele);
string first, second;
ss >> first, ss >> second;
/*first ๊ฐ second ๋ฅผ ์ ๊ณ ํ ๊ฒ*/
report_map[second].insert(first);
ss.clear();
}
for (auto ele : report_map)
{
if (ele.second.size() >= k)
{
for (auto iter : ele.second)
{
int index = id_map[iter];
answer[index] ++;
}
}
}
return answer;
}
ํ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ ๋ ์ค๋ฅด์ง ์์์, ํ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฟ ์ฐธ๊ณ ํ์๋ค. ์ผ๋จ ๋ง์ด ํ๋ฉด์ ๊ฐ์ ์ตํ๋ณด์.
๋ฐฐ์ด ๊ฒ
1. ๋ฌธ์์ด์ ํ์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ์ stringstream ์ ํ์ฉํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
2. ์๊ฐ๋ณด๋ค ํ์ด ๋ฐฉ๋ฒ์ ๋จ์ํ๋ค. ์กฐ๊ธ ๋ ๊ณ ๋ฏผํด๋ณด์..
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2022.07.01 |
---|---|
[2020 ์นด์นด์ค ์ธํด์ญ] ํคํจ๋ ๋๋ฅด๊ธฐ (0) | 2022.06.29 |
[2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2022.06.28 |
[2021 KAKAO BLIND RECRUITMENT] ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2022.06.28 |
[c++]Associate container (0) | 2022.06.25 |