[프로그래머스] 위장 JavaScript

0

Problem Solving

목록 보기
32/49
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/42578?language=javascript

옷은 중요하지 않고 종류의 갯수만 중요하므로 종류기준으로 해시맵을 만들어 갯수를 저장함.

각각의 종류+1(해당 종류의 옷을 입지 않는 경우 포함)에 대해서 누적곱을 구한다.
아무 종류도 입지 않는 알몸의 경우는 없으므로 -1.

function solution(clothes) {
    let table = new Map();
    for (const [name, category] of clothes){
        table.set(category, table.get(category)+1 || 1);
    }
    return [...table.values()].map(e=>e+1).reduce((a,b)=>a*b)-1
}

0개의 댓글