2-3 가위 바위 보 (Java)

정우·2022년 10월 2일

✏️ 문제


설명

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

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

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

입력

첫 번째 줄에 게임 횟수인 자연수 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;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] A = new int[N];
        int[] B = new int[N];
        
        for (int i=0; i<N; i++) {
            A[i] = sc.nextInt();
        }
        
        for (int i=0; i<N; i++) {
            B[i] = sc.nextInt();
        }
        
        for (char i : solution(N, A, B).toCharArray()) {
            System.out.println(i);
        }
    }
    
    public static String solution(int N, int[] A, int[] B) {
        String answer = "";
        for (int i=0; i<N; i++) {
            int tmp = A[i] - B[i];
            if (tmp == 1 || tmp == -2) {
                answer += "A";
            }
            else if (tmp == -1 || tmp == 2) {
                answer += "B";
            }
            else {
                answer += "D";
            }
        }
        
        return answer;
    }
}

가위, 바위, 보 각각 숫자로 할당되어있으니 누가 이겼는지 확인하기 위해서 두개의 숫자의 차이를 구했다.
그 차이를 tmp 에 저장하면 1과 -2일때는 A, -1 또는 2일 경우는 B, 그렇지 않으면 D가 나오게 했다.


profile
That's it

0개의 댓글