본문 바로가기

자료구조+알고리즘/Programmers

[프로그래머스 Lv.1] 추억 점수 (javascript)

 

https://school.programmers.co.kr/learn/courses/30/lessons/176963

 

 

 

 

 

 

[문제 풀이]

가장 짧은 예시인 두번째걸 보면

kali 는 11 

mari 는 1

don 는 55 

 

photo 의 첫번째 배열에서 11+1+55 = 67 인것이다 

 

 

 

[코드 풀이]

function solution(name, yearning, photo) {
    // key-value 객체로 점수 매칭
    const matching = {};
    for(let i=0; i<name.length; i++){
        matching[name[i]] = yearning[i]
    }

    
    var answer = [];
 
    // es6 문법 
    answer = photo.map((i) => i.reduce((arr, cur) => arr + (matching[cur] || 0), 0))

    return answer;
}

 

photo 배열을 map 을 통해 돌려주고 (배열을 리턴해줌)

matching[cur] 에 값이 있으면 arr 에 가산해준다 없으면 0을 더함 

728x90
반응형