카테고리 없음

7월 12일 수요일 TIL 회고록

tft4rollz 2023. 7. 13. 01:30

프로그래머스 Lv.1 코딩테스트


추억 점수

문제 설명 및 제한 사항, 입출력 예

풀이

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

class Solution {

  public int[] solution(String[] name, int[] yearning, String[][] photo) {
      int[] answer = new int[photo.length];
      Map<String,Integer> list = new HashMap<>();
      for (int i = 0 ; i < name.length; i++) {
        list.put(name[i],yearning[i]);
      }

      for (int i = 0; i < photo.length; i++) {
        int sum = 0;
        for (String str : photo[i]) {
          sum += list.getOrDefault(str,0);
          answer[i] = sum;
        }
      }
      return answer;
    }
  }

 

사진의 개수만큼 답변 배열 초기화

- 이름과 추억점수를 매치시킬 map 선언 후 이름(name)에 해당하는 점수(yearning) map에 집어넣기

- 각 사진(photo[i])에 있는 이름(str)을 탐색하며:

  1) map에서 해당되는 이름을 찾아 추억 점수를 sum에 가산 (없는 경우 0점 처리)

  2) 답변 배열에 해당 사진의 추억점수 합 저장

- 답변 배열 반환