Lv.2 : 의상 [JavaScript]
2024. 11. 6. 22:46ㆍAlgorithm/프로그래머스
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

문제 풀이
function solution(clothes) {
var clo = {};
for(var c of clothes){
clo[c[1]] ? clo[c[1]] += 1 : clo[c[1]] = 1;
}
var arr = Object.values(clo);
return arr.reduce((acc, cur) => acc * (cur + 1), 1) - 1;
}
clothes를 돌면서 clo 객체를 만든다.
의상의 이름은 중요하지 않으므로, 의상의 종류와 그 종류에 해당하는 의상의 개수를 저장한다.
각각의 의상에 대해서, '입는다'와 '입지않는다' 두 가지 선택지가 있으므로
reduce를 통해 모든 의상의 cur + 1들을 곱하면 입을 수 있는 모든 경우의 수가 나온다.
아무것도 입지 않을 수는 없기 때문에 -1을 해준 뒤 리턴
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
Lv.2 : 튜플 [JavaScript] (0) | 2024.11.10 |
---|---|
Lv.1 : 모의고사 [JavaScript] (1) | 2024.11.07 |
Lv.2 : 프로세스 [JavaScript] (0) | 2024.11.03 |
Lv.2 : [1차] 캐시 [JavaScript] (0) | 2024.11.02 |
Lv.2 : 괄호 회전하기 [JavaScript] (0) | 2024.10.28 |