본문으로 바로가기

[알고리즘]가위바위보

category Algorithm/Array 2021. 10. 13. 22:03
728x90
반응형

▷ 문제

A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다.

가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.

예를 들어 N=5이면

두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요.

* 입력 

첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다.

두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.

세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.

* 출력

각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다.

▷ 입력 예시

5

2 3 3 1 3

1 1 2 2 3

▷ 출력 예시

A

B

A

B

D

▷ 풀이

import java.util.Scanner;

public class Main {
    public char[] solution(int n, int[] aArr, int[] bArr){
        char[] answer = new char[n];
        for (int i = 0; i < n; i++) {
          if(aArr[i] == bArr[i]){
            answer[i] = 'D';
          } else{
            if((aArr[i] == 1 && bArr[i] == 3) || aArr[i] == 2 && bArr[i] == 1 
                || aArr[i] == 3 && bArr[i] == 2){
              answer[i] = 'A';
            } else{
              answer[i] = 'B';
            }
          }
        }

        return answer;
    }

    public static void main(String[] args) {
        Main main = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int[] aArr = new int[n];
        int[] bArr = new int[n];
        for (int i = 0; i < n; i++) {
            aArr[i] = kb.nextInt();
        }
        for (int i = 0; i < n; i++) {
            bArr[i] = kb.nextInt();
        }
        kb.close();

        for(char x : main.solution(n, aArr, bArr)){
          System.out.println(x);
        }
    }
}
반응형