728x90
반응형
문제
코드
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
vector<int> solution(vector<string> name, vector<int> yearning, vector<vector<string>> photo) {
vector<int> answer;
unordered_map<string, int> score;
for (int i = 0; i < name.size(); ++i)
{
score.emplace(name[i], yearning[i]);
}
for (const auto& p : photo)
{
int temp = 0;
for (const auto& s : p)
{
if (auto search = score.find(s) != score.end())
{
temp += score[s];
}
}
answer.emplace_back(temp);
}
return answer;
}
문제 해설
- unordered_map 을 이용해서 순서에 상관없이 key:name, value:yearning을 저장
- photo 안에 있는 vector<string>의 개수만큼 foreach문 사용
- 만약 unordered_map 에 담겨 있는 string 이 나오면 임시 변수 temp 에 yearning 더해준다.
- 그리고 배열이 끝나면 answer에 temp를 담는다.
728x90
반응형
'코딩테스트 > 프로그래머스(C++)_Level.1' 카테고리의 다른 글
[프로그래머스/C++] Lv.1 푸드 파이트 대회 (0) | 2023.12.19 |
---|---|
[프로그래머스/C++] Lv.1 두 개 뽑아서 더하기 (0) | 2023.12.14 |
[프로그래머스/C++] Lv.1 시저 암호 (0) | 2023.12.12 |
[프로그래머스/C++] Lv.1 크기가 작은 부분문자열 (0) | 2023.12.12 |
[프로그래머스/C++] Lv.1 이상한 문자 만들기 (0) | 2023.11.28 |