-
7월 12일 수요일 TIL 회고록카테고리 없음 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) 답변 배열에 해당 사진의 추억점수 합 저장
- 답변 배열 반환