https://school.programmers.co.kr/learn/courses/30/lessons/176963
function solution(name, yearning, photo) {
const scoreMap = {};
name.forEach((v, i)=>{
scoreMap[v] = (scoreMap[v] || 0) + yearning[i];
})
return photo.map((v)=>v.reduce((a,c)=>a + (scoreMap[c] || 0), 0));
}
이름에 따른 점수 계산이기 때문에 hashmap
을 만들어서 계산하면 쉽겠다고 생각했다. scoreMap
에는 name
을 key
로, yearning
을 value
로 해서 더한 값이 담겨 있다. photo
요소 v
를 reduce
해서 누적 합을 계산했다. scoreMap
에 없는 이름은 0
으로 계산했다.