TIL 65|JavaScriptアルゴリズム(プログラマーJSに偽装)
4287 ワード
問題のショートカット
スパイが持っている服に二次元配列の服が与えられた場合、異なる服の組み合わせの数を返すために解関数を作成します.
ハッシュ問題に基づいて,服装種類をキー値,服装数を値としてキー値形式のobjectを生成する.valueを使用して状況の数を計算します.
スパイは毎日少なくとも1枚の服を着ている.
つまり、帽子+上着+下着+コートを着る日だけでなく、帽子をかぶる日もあります.
この言葉を逃したら、状況の数が間違っているかもしれません.
問題の掲示板...
objは服装の種類、個数をkey-valueとするobjectである.
このobjのvalueに1を加え、すべて乗算します.乗算をするので、答えの初期値を0から1に変更します!
最後に、スパイは少なくとも1着以上の服を着なければならないので、すべての服を着ないときの数は1減少します.
問題の概要
スパイが持っている服に二次元配列の服が与えられた場合、異なる服の組み合わせの数を返すために解関数を作成します.
方法
ハッシュ問題に基づいて,服装種類をキー値,服装数を値としてキー値形式のobjectを生成する.valueを使用して状況の数を計算します.
注意事項
スパイは毎日少なくとも1枚の服を着ている.
つまり、帽子+上着+下着+コートを着る日だけでなく、帽子をかぶる日もあります.
この言葉を逃したら、状況の数が間違っているかもしれません.
問題の掲示板...
正しいコード
function solution(clothes) {
let answer = 1;
let obj = {};
for(let i = 0; i<clothes.length;i++){
if(obj[clothes[i][1]]>=1){
obj[clothes[i][1]]+=1;
}else{
obj[clothes[i][1]] = 1;
}
}
for (let key in obj){
answer*=(obj[key]+1);
}
return answer-1 ;
}
コード解析
objは服装の種類、個数をkey-valueとするobjectである.
このobjのvalueに1を加え、すべて乗算します.乗算をするので、答えの初期値を0から1に変更します!
最後に、スパイは少なくとも1着以上の服を着なければならないので、すべての服を着ないときの数は1減少します.
Reference
この問題について(TIL 65|JavaScriptアルゴリズム(プログラマーJSに偽装)), 我々は、より多くの情報をここで見つけました https://velog.io/@mygomi/TIL-65-자바스크립트로-알고리즘-프로그래머스-위장-JSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol