알고리즘/Lv1. 프로그래머스
추억 점수
signal시노
2023. 7. 4. 18:16
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/176963
import java.util.*;
class Solution {
public int[] solution(String[] name, int[] yearning, String[][] photo) {
int[] answer = new int[photo.length];
Map<String,Integer> nameMap=new HashMap<>();
//map에 name에 해당되는 점수 저장
for(int i=0; i<name.length;i++){
nameMap.put(name[i],yearning[i]);
}
//photo의 행 길이만큼 반복
for(int i=0;i<photo.length;i++){
//photo의 열 길이만큼 반복
for(int j=0;j<photo[i].length;j++){
//키값이 존재한다면 키값의 점수 더해주기
if(nameMap.containsKey(photo[i][j])){
answer[i]+=nameMap.get(photo[i][j]);
}
}
}
return answer;
}
}
map을 이용하여 아주 쉽게 풀었습니다.
핵심은 containsKey()함수를 활용하여 키값의 유무를 확인하는 것 입니다.