프로그래머스 추억 점수 - C++

JangGwon·2022년 12월 4일
0

문제설명 & 입출력 예시


내 풀이

이번 문제 역시 해쉬 맵을 이용하여 풀었는데, 이름(key)에 따른 그리움의 점수(value)를 취급하는 map을 사용하였다.
그 다음 photo배열을 순회하며, 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> m;
    
    for(int i=0;i<name.size();i++) 
        m[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;
}

간략한 내 일기

최근에 알고리즘을 복습하던 도중 내가 해쉬 맵 개념은 잘 알고 있지만, 사용법을 모르다는 사실을 알게되었다. 그래서 해쉬 맵 관련된 문제를 집중적으로 풀어보고 있는 중이다.

0개의 댓글