[プログラマーコードテスト高得点Kit]偽装
5407 ワード
質問する
https://programmers.co.kr/learn/courses/30/lessons/42578?language=javascript
に答える
{
headgear: 1,
eyewear: 2,
...
}
calcCombination
ex)顔1、顔2、無顔/眼鏡1、眼鏡2、無眼鏡=>3*3 return result - 1; // 3 * 3 - 1
function mapper(clothes) {
const map = {};
clothes.forEach(([_, kind]) => {
if( !map[kind] ) {
map[kind] = 1;
} else {
map[kind]++;
}
});
return map;
}
function calcCombination(map) {
const categoryCounts = Object.values(map);
const result = categoryCounts.reduce((acc, cur) => {
acc = acc * (cur + 1);
return acc;
}, 1);
return result;
}
function solution(clothes) {
const map = mapper(clothes);
const result = calcCombination(map);
return result - 1;
}
Reference
この問題について([プログラマーコードテスト高得点Kit]偽装), 我々は、より多くの情報をここで見つけました https://velog.io/@doongdoong/프로그래머스-위장-코딩테스트-고득점-Kitテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol