https://programmers.co.kr/learn/courses/30/lessons/42578?language=javascript
function solution(clothes) {
let answer = 1;
const temp = {};
clothes.forEach(element => {
if (temp[element[1]]){
temp[element[1]] += 1
}
else {
temp[element[1]] = 2
}
});
answer = Object.keys(temp).reduce((acc, current) => acc * temp[current], answer) - 1;
return answer;
}
각각의 옷 종류 하나당 안 입었을 때를 1개의 경우로 잡고, 같은 종류가 들어올 때마다 1씩 더해준다. 그러면 이제 종류의 값들을 다 곱해주게 되면 모든 경우의 수가 나오는데 거기에는 아무 옷도 입지 않았을 경우가 포함되어 있기 때문에 아무것도 안 입었을 때의 경우인 1을 빼주면 답이된다.