JS 문제풀기 – 가위바위보

1. 문제

A와 B는 가위바위보 놀이를 합니다. 총 N 게임을 진행하여 A가 이기면 A를, B가 이기면 B를 딜한다. 동점이 있으면 D로 나갑니다.
가위바위보 정보는 1: 가위, 2: 바위, 3: 보로 결정됩니다.

입력 예
A = (2,3,3,1,3), B = (1,1,2,2,3), N = 5라고 하자.

출력 예

2. 문제 해결

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

3. 또 다른 해결책

function solution(N, A, B) {
  const results = ('D', 'A', 'B');
  for (let i = 0; i < N; i++) {
     const winner = (A(i) - B(i) + 3) % 3;
     console.log(results(winner));
  }
}
A(i)와 B(i)를 사용하여 3을 더하고 3으로 나눈 나머지를 구하면 0, 1 또는 2의 값이 나옵니다.
이 결과가 0이면 무승부/1, A승/2, B승이므로 같은 값을 확인할 수 있습니다.