코딩 테스트 대비

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

nippycloud 2025. 10. 30. 12:49

https://school.programmers.co.kr/learn/courses/30/lessons/176963

 

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

name과 yearning이 서로 매핑되기 때문에 Map으로 통일했다.

name으로 매핑된 점수를 찾아야 하기 때문에 key를 name 타입, value를 yearning 타입으로 선언했다.

 

먼저 Map을 선언, map에 name - yearing을 매핑하여 넣었다.

이후 photo 배열에서 값들을 꺼내어 map에서 매핑되는 점수들을 찾아 answer 배열에 넣었다.

 

import java.util.Map;
import java.util.HashMap;

class Solution {
    public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int length = photo.length;
        int[] answer = new int[length];
        Map<String, Integer> map = new HashMap<>();
        for(int i=0; i<name.length; i++){
            map.put(name[i], yearning[i]);
        }

        for(int i=0; i<length; i++){
            int score = 0;
            String[] s = photo[i];
            for(String temp : s){
                Integer itg = map.get(temp);
                if(itg!=null)score += map.get(temp);
            }
            answer[i] = score;
        }

        return answer;
    }
}