[アルゴリズム]2 Dナビゲーション-ハサミ石布



はさみ石布


A.B二人でストーンクリップゲーム全部でNゲームAで勝てば出力Aで勝てば出力BフラットであればDを出力します.石はさみ布の情報は1:石はさみ布2:石はさみ布3:布
2人に1人1回のハサミ石布情報を与えると、誰が勝ったかを印刷するプログラムを書きます.
■説明の入力
1行目は、ゲーム回数の自然数N(1<=N<=100)を与える.
2行目はA出の石ハサミ布情報
3行目はBが出した石ハサミ布情報です
■出力説明
各行に各会議の勝者を出力します.引き分けの場合、Dを出力します.
■入力例1
5
2 3 3 1 3
1 1 2 2 3
■出力例1
A
B
A
B
D

説明する

function solution(a, b) {
        let answer = "";
        let scissor = 1,
          rock = 2,
          paper = 3;
        for (i = 0; i < a.length; i++) {
          if (
            (a[i] === scissor && b[i] === paper) ||
            (a[i] === rock && b[i] === scissor) ||
            (a[i] === paper && b[i] === rock)
          ) {
            answer += "A";
          } else if (a[i] === b[i]) {
            answer += "D";
          } else answer += "B";
        }
        return answer;
}
状況の数が分かれば簡単に解決できる.

講師の説明

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;
            }