출처 : 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()함수를 활용하여 키값의 유무를 확인하는 것 입니다.
'알고리즘 > Lv1. 프로그래머스' 카테고리의 다른 글
두 개 뽑아서 더하기 (0) | 2023.07.11 |
---|---|
k번째수 (0) | 2023.07.11 |
숫자 문자열과 영단어 (0) | 2023.07.11 |
1차 비밀지도 (0) | 2023.07.07 |
달리기 경주 (0) | 2023.07.02 |