프로그래머스 Lv.1 문제
obj를 만들어 key : value 형식의 일종의 사전을 만들어서
key값을 호출해서 값을 더하는 방식으로 풀었다.
그런데, 의도한 대로 값은 제대로 호출되나
배열의 첫번째로 들어오는 값을 제외하고는 전부 null로 뜨는 오류가 있다.
문제점을 못 찾아서 보류해 둔 문제
function solution(name, yearning, photo) {
var answer = [];
let obj = {};
name.map((name, index) => {
obj[`${name}`] = yearning[index];
});
photo.map((x) => {
let point = 0;
for (let i = 0; i < x.length; i++) {
if (x[i] !== undefined) {
point = point + obj[x[i]];
}
}
answer.push(point);
});
return answer;
}
해결
for문 사용 & null인 부분 제외하고 push하기로 변경했더니 잘 된다.
function solution(name, yearning, photo) {
var answer = [];
let obj = {};
name.map((name, index) => {
obj[`${name}`] = yearning[index];
});
for (let i = 0; i < photo.length; i++) {
let point = 0;
for (let j = 0; j < photo[i].length; j++) {
if (obj[photo[i][j]] != null) {
point = point + obj[photo[i][j]];
}
}
answer.push(point);
}
return answer;
}