728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/176963
문제 풀이 방법
객체 형식으로 name에 있는 이름들 마다 추억 점수를 할당해준다.
그리고 photo 배열에 있는 배열을 순회하며 점수를 측정해 반환한다.
완성된 코드
const solution = (name, yearning, photo) => {
let answer = [];
let list = name.reduce((acc, key, i) => {
acc[key] = yearning[i];
return acc;
}, {});
photo.forEach(e => {
let newArr = e.filter(e => list[e])
let n = newArr.reduce((acc, cur) => {
return acc + list[cur];
}, 0)
answer.push(n);
});
return answer;
}
다른 문제 풀이 방법
이 방식은 다른 사람의 풀이를 보다 메서드 활용을 정말 잘한 코드인것 같아 가져와 봤다.
완성된 코드
const solution = (name, yearning, photo) => {
return photo.map((v)=> v.reduce((a, c)=> a += yearning[name.indexOf(c)] ?? 0, 0));
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
[JS] 3Level / 연습문제 / 하노이의 탑 (0) | 2023.10.23 |
---|---|
[JS] 3Level / 연습문제 / 숫자 타자 대회 (1) | 2023.10.20 |
[JS] 1Level / 연습문제 / 콜라 문제 (1) | 2023.10.17 |
[JS] 2Level / 연습문제 / 호텔 대실 (0) | 2023.10.17 |
[JS] 2Level / 2018 KAKAO BLIND RECRUITMENT / [3차] 방금그곡 (1) | 2023.10.13 |