Algorithm/Java

[프로그래머스 연습문제] 추억 점수 - 자바

개발자민호다 2025. 4. 4. 21:36

제목 및 문제 설명

 

 

 

풀이

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

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

 

 

 

문제 팁과 풀이, 시행착오

해시맵에 주어진 name을 키로 각 name에 맞게 주어진 점수를 밸류 값으로 넣어주고
photo 배열에 이 키값과 같은 값이 나오는 경우 sum에 추가 해주며
각각 더한 값을 순서에 맞는 answer[i]에 차곡차곡 넣어 답을 도출하게 하는 코드이다.