맵은 key-value 구조로 원소를 저장할 수 있는 자료구조를 말한다. 보통 map으로 선언하고 삽입한다면 자동으로 key를 기준으로 정렬된다.
#include <map>
int main(){
//key:string, value:int
map<string, int> m;
//key, value 삽입
//m.insert(make_pair("gildong",1));
m.insert({"gildong","1"});
m.insert({"phochacco","2"});
//iterator로 조회
for (auto it=m.begin(); it!=m.end(); it++){
cout<< it->first<<" "<<it->second<<endl;
}
return 0;
}
이름이 적힌 name vector와 추억점수가 기록된 yearining vector를 이용해 각 이름에 해당하는 추억점수 합을 반환한다.
#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> m;
for (int i=0; i<name.size(); i++){
m.insert({name[i],yearning[i]});
}
for (int i=0; i<photo.size(); i++){
int sum=0;
for (int j=0; j<photo[i].size(); j++){
sum+=m[photo[i][j]];
}
answer.push_back(sum);
}
return answer;
}
참고한 블로그
https://kbj96.tistory.com/23
https://life-with-coding.tistory.com/305