📄 문제
🔍 문제 접근
💡 옷을 안 입는 경우를 고려해서 코드를 작성해야 한다.
💡 종류 별로 옷을 분류해야 하므로 Map
을 사용하자.
👉 입출력 예 #1으로 경우의 수 공식 이해하기
(headgear 개수 + 입지 않는 경우) * (eyewear 개수 + 입지 않는 경우) - (전부 입지 않는 경우는 제외)
= (2 + 1) * (1 + 1) - 1
= 5
📝 문제 풀이
function solution(clothes) {
const clothesMap = new Map();
let count = 1;
clothes.map(([item, type]) => {
if (clothesMap.has(type)) {
clothesMap.set(type, [...clothesMap.get(type), item])
} else {
clothesMap.set(type, [item])
}
});
clothesMap.forEach(value => {
count *= value.length + 1;
});
return count - 1;
}
'코딩테스트' 카테고리의 다른 글
[프로그래머스/Javascript] 카펫 (0) | 2023.07.27 |
---|---|
[프로그래머스/Javascript] 예상 대진표 (0) | 2023.07.26 |
[프로그래머스/Javascript] 점프와 순간 이동 (0) | 2023.07.22 |
[프로그래머스/Javascript] 캐시 (0) | 2023.07.18 |
[프로그래머스/Javascript] 짝지어 제거하기 (0) | 2023.07.16 |