function solution(name, yearning, photo) {
const answer =[]
let obj ={}
for(let i = 0 ; i < name.length; i++){
obj[name[i]]=yearning[i]
}
for(let j = 0 ; j<photo.length; j++){
let sum =0
for(let k = 0 ; k<photo[j].length; k++){
if(obj[photo[j][k]]!==undefined){
sum=sum+obj[photo[j][k]]
}
}
answer.push(sum)
}
return answer
}
function solution(name, yearning, photo) {
const result =[]
const obj ={}
name.forEach((item,index)=>obj[item]=yearning[index])
photo.forEach((arr,index)=>{
let point=0
arr.forEach((item)=>obj[item] ? point=point+obj[item]: null)
result.push(point)
})
return result
}
for문안의 식별자를 i, j ,k이렇게 다양하게 사용하다보니 가독성이 좋지 않고
for문 내부에 if문이 존재해 좀 더 복잡해보인다.
그래서 forEach문으로 최대한 간결하게 사용하였고 obj를 통해 key-value로 바로 해당 값으로 접근이
가능하도록 하였다.
forEach문보다 for문이 성능이 더 좋다고 알고있는데 테스트케이스를 통과할 수준의 범위라면
forEach문이 더 가독성이 좋아보인다.