티스토리 뷰

흥미/코딩테스트

#23😊 추억 점수

RadderNepa 2023. 4. 4. 01:26

[문제]

출처 : https://school.programmers.co.kr
출처 : https://school.programmers.co.kr


[해설]

- 진짜 오랜만에 코테를 푼다. 감각도 살릴겸 쉬운 문제를 풀었다.

- 일부러 solution method 외에 findScore method를 만들어 로직을 분리했다.(이런 연습도 해봐야 할 것 같아서 그랬다.)

- 문제를 읽은 후 어떻게 풀어야 할까 고민하다보니 Map을 이용하면 적절할 것 같았다.

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

class Solution {
    public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length];
        Map<String, Integer> nsMap = new HashMap<String, Integer>();
        
        for(int i = 0; i < name.length; i++) nsMap.put(name[i], yearning[i]);
        
        for(int k = 0; k < photo.length; k++) {
            answer[k] = this.findScore(nsMap, photo[k]);   
        }
        
        return answer;
    }
    
    private int findScore(Map<String, Integer> nsMap, String[] tmpNames) {
        int sum = 0;
        for(int j = 0; j < tmpNames.length; j++) {
            if(nsMap.containsKey(tmpNames[j])) sum += nsMap.get(tmpNames[j]);   
        }
        return sum;
    }
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함