내 풀이)
좀 더 연산을 효율적으로 하기 위해, name과 yearning을 맵핑한 객체를 만들자.
추억 점수는 number 범위를 넘지 않으므로, 일반적인 연산을 해도 좋다.
내 코드)
function solution(name, yearning, photo) {
const score = {};
name.forEach((el, i) => {
score[el] = yearning[i];
});
const answer = photo.map((els) => {
let sum = 0;
els.forEach((el)=>{
sum += score[el] ?? 0;
});
return sum;
});
return answer;
}
여기서, 연습 겸 sum 을 구할 때엔 reduce 메소드를 활용한다면 아래 코드와 같다.
function solution(name, yearning, photo) {
const score = {};
name.forEach((el, i) => {
score[el] = yearning[i];
});
return photo.map((els) => els.reduce((acc, el)=> (acc + (score[el] ?? 0)), 0));
}
'알고리즘 > JavaScript' 카테고리의 다른 글
자바스크립트로 백준 10998 풀기 (1) | 2023.12.06 |
---|---|
백준에서 javascript로 문제 푸는 법 총정리 (feat. 입력 받는 법) (1) | 2023.12.05 |
JavaScript) 자료구조 Map을 활용하기 (2) | 2023.10.30 |
JavaScript) 배열 메소드 some과 every 사용하기 (0) | 2023.10.30 |