문제풀이:
photo 안 배열들을 돌면서 배열이 name(배열) 속 원소를 포함하고 있다면 해당 name 속 원소의 index를 yearning[index] 원소를 sum에 더해준다.
나의코드:
function solution(name, yearning, photo) {
let answer=[];
for (let i=0; i<photo.length; i++){
let sum = 0;
for(let j=0; j<name.length; j++){
if(photo[i].includes(name[j])){
sum+= yearning[j];
}else{
sum+= 0;
}
if(j=== name.length-1){
answer.push(sum);
}
}
}
return answer;
}
참고할만한 코드:
function solution(name, yearning, photo) {
let obj = {};
for(let i = 0; i < name.length; i++){
obj[name[i]] = yearning[i];
}
return photo.map(value => value.map(v => obj[v] ? obj[v] : 0).reduce((acc,cur) => acc + cur,0))
}
배운점:
name의 index를 활용하여 그대로 yearning의 index 원소값으로 더해주기 때문에 객체를 만들어서 name배열과 yearing배열을 짝지어준다.
'코딩테스트 문제풀기' 카테고리의 다른 글
[프로그래머스] 푸드파이터대회 lev1. (javascript) (2) | 2023.10.02 |
---|---|
[프로그래머스] 과일 장수 lev1. (javascript) (0) | 2023.06.07 |
[프로그래머스] 등차수열의 특정한 항만 더하기 lev0. (javascript) (0) | 2023.05.23 |
[프로그래머스] 배열의 길이에 따라 다른 연산하기 lev0. (javascript) (0) | 2023.05.22 |
[프로그래머스] A로 B 만들 lev0. (javascript) (0) | 2023.05.22 |