안녕하세요
프로그래머스 JS [추억 점수] 본문
추억 점수 문제보기
문제 요약
이름 배열이 주어집니다. ["김","이","박"]
이름 마다 점수가 정해져 있습니다. [1,5,10]
photo 배열이 주어집니다. [["김","장"]]
이름에 해당하는 점수의 합산을 반환합니다. [1]
문제 풀이
function solution(name, yearning, photo) {
const nameScoreMap = new Map();
name.forEach((item, index) => nameScoreMap.set(item, yearning[index]));
const answer = photo.map((item) => {
return item.map((name) => (nameScoreMap.get(name) ? nameScoreMap.get(name) : 0)).reduce((total, current, index, array) => total + current);
});
return answer;
}
Map또는 Object 객체를 이용하여 이름에 해당하는 점수 리스트를 만듭니다.
photo에는 여러 개의 배열이 들어 있고, 각 배열 안에는 여러 개의 이름이 들어 있습니다.
이름마다의 지정된 점수를 기록한 배열을 만든 뒤,
이 배열에서 점수의 합을 구합니다.
solution(
["may", "kein", "kain", "radi"],
[5, 10, 1, 3],
[
["may", "kein", "kain", "radi"],
["may", "kein", "brin", "deny"],
["kon", "kain", "may", "coni"],
]
);
=> [19, 15, 6]
'프로그래머스 > Lv.1' 카테고리의 다른 글
프로그래머스 JS [대충 만든 자판] (0) | 2023.05.08 |
---|---|
프로그래머스 JS [덧칠하기] (0) | 2023.04.13 |
프로그래머스 JS [둘만의 암호] (6) | 2023.02.03 |
프로그래머스 JS [신고 결과 받기] (0) | 2023.02.03 |
프로그래머스 JS [햄버거 만들기] (0) | 2023.02.02 |