반응형
앞의 달리기 경주를 풀고 난 뒤 이 문제를 보니, 어떻게 풀어야 할지 바로 감이 잡혔다.
이 문제 역시 map을 사용하여 해결할 수 있다.
string과 int가 짝을 이루고, 주어진 string을 통해 탐색하는 과정이 필요하다면 map을 사용할 것!
풀이는 아래와 같다.
#include <string>
#include <vector>
#include <map>
using namespace std;
vector<int> solution(vector<string> name, vector<int> yearning, vector<vector<string>> photo) {
vector<int> answer;
map <string, int> m1;
for (int i = 0; i < name.size(); i++) {
m1[name[i]] = yearning[i];
}
for (int i = 0; i < photo.size(); i++) {
int cnt = 0;
for (int j = 0; j < photo[i].size(); j++) {
cnt += m1[photo[i][j]];
}
answer.push_back(cnt);
}
return answer;
}
string을 인덱스로 갖는 map을 하나 생성하여 주어진 값들을 대입해주었다.
그리고 photo를 한 줄 단위로 읽으며 값을 카운트 해주면 된다!
반응형
'CO-TE > 프로그래머스' 카테고리의 다른 글
[프로그래머스] c++ LV2 요격 시스템 풀이/접근방법 (0) | 2023.10.12 |
---|---|
[프로그래머스] c++ LV1 대충 만든 자판 (0) | 2023.09.13 |
[프로그래머스] c++ LV1 덧칠하기 (1) | 2023.09.13 |
[프로그래머스] c++ LV1 공원 산책 (0) | 2023.09.04 |
[프로그래머스] c++ LV1 달리기 경주 (0) | 2023.09.01 |