신고 결과 받기 문제…… 맵이나 vector 를 분명 더 쉽게 했었는데 하다가 도저히 못찾고 노가다로 풀어버렸다. 그런데 다 풀고 나서 생각나버림… vector 를 이중으로 사용하던 map 을 이중으로 사용하던 결국 이것을 second 쪽에 넘버링 해주면 string 도 int 처럼 사용 가능하다… 잊지말자
#include <string>
#include <vector>
#include <sstream>
using namespace std;
vector<int> solution(vector<string> id_list, vector<string> report, int k) {
vector<int> answer;
answer.resize(id_list.size());
vector<vector<bool>> declared(id_list.size(), vector<bool>(id_list.size(),false));
vector<int> rec(id_list.size(), 0);
for(auto &id : report )
{
stringstream ss(id);
string reporter, received;
ss >> reporter >> received;
for(int i = 0; i<id_list.size(); ++i)
{
if(id_list[i] == reporter)
{
for(int j = 0; j<id_list.size(); ++j)
{
if(id_list[j] == received)
{
if(declared[i][j] == false)
{
declared[i][j] = true;
rec[j]++;
break;
}
}
}
break;
}
}
}
for(int i = 0; i<rec.size();++i)
{
if(rec[i]>=k)
{
for(int j = 0; j<declared.size();++j)
{
if(declared[j][i])
{
answer[j]++;
}
}
}
}
return answer;
}
'코딩 테스트' 카테고리의 다른 글
프로그래머스 1차 비밀지도 (0) | 2024.02.14 |
---|---|
프로그래머스 k진수에서 소수 개수 구하기 (0) | 2024.02.14 |
백준 4101 (0) | 2023.07.10 |
백준 2475 (0) | 2023.07.09 |
백준 1225 (0) | 2023.07.08 |