Deff_Dev

[프로그래머스] 추억 점수 (C++) 본문

코딩테스트/프로그래머스

[프로그래머스] 추억 점수 (C++)

Deff_a 2024. 3. 6. 15:53
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

해당 문제는 주어진 사진 속의 그리움 점수들을 합쳐 추억 점수를 산출하는 문제이다.

 

맵에 인물 별 그리움 점수를 저장하고, 이 맵을 활용하여 사진 별 추억 점수를 산출하는 방법으로 문제를 풀었다.

풀이

#include <string>
#include <vector>
#include <map>
using namespace std;
// https://school.programmers.co.kr/learn/courses/30/lessons/176963

// 인물 별 그리움 점수를 저장하는 맵
map <string, int> scoreMaps;
vector<int> solution(vector<string> name, vector<int> yearning, vector<vector<string>> photo) {
    vector<int> answer;
    
    // 인물 별 그리움 점수를 맵에 저장
    for(int i = 0; i < name.size(); i++){
        scoreMaps[name[i]] = yearning[i];
    }        
    
    // 사진 별 추억 점수 산출
    for(int i =0; i<photo.size(); i++){
        int score = 0;
        for(int j = 0; j < photo[i].size(); j++){
            score += scoreMaps[photo[i][j]];
        }
        answer.push_back(score);
    }
    
    return answer;
}