코테/프로그래머스

[프로그래머스/Lv. 1] 추억 점수

imname1am 2023. 4. 4. 00:52
반응형

🔺 문제

 

프로그래머스

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

programmers.co.kr

 

🔺 코드

import java.util.*;

class Solution {
    public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length];
        Map<String, Integer> map = new HashMap<>();
        
        for(int i = 0 ; i < name.length ; i++) {
            for(int j = 0 ; j < yearning.length ; j++) {
                map.put(name[i], yearning[i]);
            }
        }
        
        for(int i = 0 ; i < photo.length ; i++) {
            for(int j = 0 ; j < photo[i].length ; j++) {
                answer[i] += map.getOrDefault(photo[i][j], 0);
            }
        }
        
        return answer;
    }
}
✅ 해결 아이디어
- Map을 사용해 key에는 String형인 name을, value에는 int형인 yearning 값을 저장한다.
- map에 해당 값이 없는 경우, null이 아닌 0으로 값을 받아오기 위해 map의 getOrDefault 메소드를 사용했다.

우와~~~ 오늘 드디어 처음 제대로 푼 문제ㅠㅠ

반응형