fullfish 2022. 9. 11. 01:11

코드

function solution(clothes) {
  let obj = {};
  let result = 1;
  for (let i = 0; i < clothes.length; i++) {
    if (clothes[i][1] in obj) obj[clothes[i][1]]++;
    else obj[clothes[i][1]] = 1;
  }
  for (let key in obj) {
    result *= obj[key] + 1;
  }
  return result - 1;
}

조합의 문제이다

안경이 4개

모자가 3개

옷이 2개라면

(4C1+4C0) * (3C1+3C0) * (2C1+2C1) -1이 답이다

-1은 모두 안입을 경우가 없기때문이며

각각의 옷을 1개 입거나 0개 입을 경우가 있으므로