石切りの布


質問する
A.B二人でストーンクリップゲーム全部でNゲームAで勝てば出力Aで勝てば出力BフラットであればDを出力します.
ハサミ石布の情報は1:ハサミ石布2:石布3:布
2人に1人1回のハサミ石布情報を与えると、誰が勝ったかを印刷するプログラムを書きます.
マイコード
function solution(a, b) {
            let answer = "";
            for(let i = 0; i < a.length; i++){
                if(Math.abs(a[i] - b[i]) === 1){
                    if(a[i] > b[i]) answer += "A";
                    else answer += "B";
                }else{
                    if (a[i] > b[i]) answer += "B";
                    else if(a[i] === b[i]) answer += "D";
                    else answer += "A";
                }
            }
            return answer;
        }

        let a = [2, 3, 3, 1, 3];
        let b = [1, 1, 2, 2, 3];
        console.log(solution(a, b));
        
私は出力の基準をaとbの値を除いて、倹約値が1と不倹約値に分けます.
講師解答コード
function solution(a, b) {
            let answer = "";
            for(let i = 0; i < a.length; i++){
                if(a[i] === b[i]) answer += "D";
                else if(a[i] === 1 && b[i] === 3) answer += "A";
                else if (a[i] === 2 && b[i] === 1) answer += "A";
                else if (a[i] === 3 && b[i] === 2) answer += "A";
                else answer += "B"; 
            }
            return answer;
        }

        let a = [2, 3, 3, 1, 3];
        let b = [1, 1, 2, 2, 3];
        console.log(solution(a, b));
答えのコードはAが勝つ場合とAが勝てない場合に分けられます.