초보 개발자의 일기

가위바위보 본문

코딩테스트/JS 알고리즘 문제(JS)

가위바위보

판다꼬마 2022. 9. 30. 21:46
728x90

문제

 

 

입력

  • 첫 번째 줄에 게임 횟수인 자연수 N(1 <=B <=100)이 주어진다.
  • 두  번째 줄에는 A가 낸 가위,바위,보 정보가 N개 주어진다.
  • 세 번째 줄에는 B가 낸 가위,바위,보 정보가 N개 주어진다.

 

출력

각 줄에 각 회의 승자를 출력한다. 비길 경우는 D를 출력

 

입력 예시

5
2 3 3 1 3
1 1 2 2 3

출력 예시

A
B
A
B
D

풀이 방법

A가 이기는 경우는 3가지가 있다 가위, 바위, 보를 냈을 때 상대가 보, 가위, 주먹을 내면 이기는 경우이다.

이 경우 answer에 A를 넣어주고

비길경우 D를 넣는 경우를 조건문으로 작성했다.

이 4가지 경우가 아닌 경우는 B가 이기는 경우 이므로 마지막에 answer에 B를 넣어준다.

내 코드

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Title</title>
  </head>
  <body>
    <script>
      function solution(a, b) {

        let answer="";
        for ( let x=0; x<a; x++){
          if(a[x]===b[x]){
            answer+="D";
          }
          else if(a[x]===1 &&b[x]===3){
            answer+="A";
          }
          else if(a[x]===2 &&b[x]===1){
            answer+="A";
          }
          else if(a[x]===3 &&b[x]===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));
    </script>
  </body>
</html>

<!--1:가위 2:바위 3:보-->

Solution

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            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));
        </script>
    </body>
</html>

느낀 점

 

728x90

'코딩테스트 > JS 알고리즘 문제(JS)' 카테고리의 다른 글

자릿수의 합  (0) 2023.01.06
숫자만 추출  (0) 2023.01.02
보이는 학생  (1) 2022.08.22
큰 수 출력하기  (0) 2022.08.22
중복 문자 제거  (0) 2022.08.12