프로그래머스/1레벨

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

Koalitsiya 2023. 6. 29. 10:59
 

프로그래머스

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

programmers.co.kr

 

문제 조건

  • name의 길이 = yearning의 길이
  • 각 사진마다 사진에 포함된 인물의 그리움 점수를 합산하여 추억 점수를 구함

 

문제 풀이

  1. name을 key로 yearning을 value로 가지는 자료구조 m 선언
  2. 각 사진에 포함된 인물 이름을 통해 그리움 점수를 구하고 합산하여 answer에 삽입
  3. 출력
#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;
    
    int nameLength = name.size();
    int photoLength = photo.size();
    
    for(int i = 0; i < nameLength; i++)
        m[name[i]] = yearning[i];
    
    for(int i = 0; i < photoLength; i++) {
        int sum = 0;
        
        for(string element : photo[i]) {
            sum += m[element];
        }
        
        answer.push_back(sum);
    }
    
    return answer;
}