[繰り返し順]石切り布
rockPaperScissors
質問する
じゃんけんゲームとは、2人以上が同時に「石はさみ布」と叫び、石はさみ布に手を表す形を伸ばして勝負を決めるゲームです.3皿のハサミ石布ゲームをして、一人で3回の選択をすることができます(例えば:ハサミ、ハサミ、布).3回の選択で関数を作成し、可能なすべての数値を求めることができます.
入力
n
しゅつりょく
注意事項
I/O例
Advanced
正の整数輪がじゃんけんゲームの数を表す場合は、その輪の間に選択できるすべての場合の数を返す関数を作成します.
let output = rockPaperScissors(5);
console.log(output);
/*
[
["rock", "rock", "rock", "rock", "rock"],
["rock", "rock", , "rock", "rock", "paper"],
["rock", "rock", , "rock", "rock", "scissors"],
["rock", "rock", "rock", "paper", "rock"],
["rock", "rock", "rock", "paper", "paper"],
["rock", "rock", "rock", "paper", "scissors"],
["rock", "rock", "rock", "scissors", "rock"],
// ...etc ...
]
*/
📌 この問題に対してDFS方式を採用した.function rockPaperScissors (n) {
let answer = [];
const caseOfPlay = ["rock", "paper", "scissors"];
let tmp = Array.from({ length: n}, () => 0)
const DFS = (L) => {
if (L === n) {
answer.push([...tmp])
}
else {
for ( let i = 0; i < caseOfPlay.length; i++) {
tmp[L] = caseOfPlay[i]
DFS(L+1)
}
}
}
DFS(0);
return answer;
}
DFSにはまだ詳しくないので、この問題を解決するのに長い時間がかかりました.もっと多くの問題を解いてみるべきだと思います.Reference
この問題について([繰り返し順]石切り布), 我々は、より多くの情報をここで見つけました https://velog.io/@jaehyeon23/중복순열-가위바위보テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol