# 추억 점수
#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> name_score;
for(int i=0; i<name.size(); i++){
name_score[name[i]] = yearning[i]; //key 이름, 추억 점수
}
for(int i=0; i<photo.size(); i++){
int sum = 0;
for(int j=0; j<photo[i].size(); j++){
sum += name_score[photo[i][j]]; //점수가 있으면 총점에 추가
}
answer.push_back(sum);
}
return answer;
}
추억점수에서의 문제를 풀때 나의 문제점은 현재 vector가 2중으로 사용되면서 2중배열로 사용된다는것을 처음 알게 되었다.
동적으로 배열을 할당해서 사용하는것. 그리고 push_back에 대한 개념도 더 공부해야겠다..
'프로그래머스(코딩테스트 연습)' 카테고리의 다른 글
프로그래머스 문자 리스트를 문자열로 변환하기 C++ (0) | 2023.09.22 |
---|---|
프로그래머스 문자열 섞기 C++ (0) | 2023.09.22 |
프로그래머스 달리기 경주 C++ (0) | 2023.09.12 |
홀짝 구분하기 (0) | 2023.07.13 |
문자열 돌리기 (0) | 2023.07.13 |