[JAVA] 15. 가위바위보

2021. 4. 20. 18:36
728x90

설명

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

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

예를 들어 N=5이면

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

 

출력

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

 

예시 입력 1 

5 2 3 3 1 3 1 1 2 2 3

 

예시 출력 1

A B A B D

 

 

풀이

 

import java.util.*;

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int size =in.nextInt();
        int[] arr1 = new int[size];
        int[] arr2 = new int[size];

        for(int i=0; i<size; i++){
            arr1[i] = in.nextInt();
        }
        for(int i=0; i<size; i++){
            arr2[i] = in.nextInt();
        }

        for(int i=0; i<size; i++){
            switch (arr1[i]){
                case 1:
                    if(arr2[i] == 1){
                        System.out.println("D");
                    }else if(arr2[i] == 2){
                        System.out.println("B");
                    }else{
                        System.out.println("A");
                    }
                    break;
                case 2:
                    if(arr2[i] == 1){
                        System.out.println("A");
                    }else if(arr2[i] == 2){
                        System.out.println("D");
                    }else{
                        System.out.println("B");
                    }
                    break;
                case 3:
                    if(arr2[i] == 1){
                        System.out.println("B");
                    }else if(arr2[i] == 2){
                        System.out.println("A");
                    }else{
                        System.out.println("D");
                    }
                    break;

            }


        }

    }
}

 

 

다른 풀이

 

import java.util.*;

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int size =in.nextInt();
        int[] arr1 = new int[size];
        int[] arr2 = new int[size];

        for(int i=0; i<size; i++){
            arr1[i] = in.nextInt();
        }
        for(int i=0; i<size; i++){
            arr2[i] = in.nextInt();
        }

        String answer = "";
        for(int i=0; i<size; i++){
            if(arr1[i] == arr2[i]) answer += "D";
            else if(arr1[i] ==1 && arr2[i] == 3) answer += "A";
            else if(arr1[i] ==2 && arr2[i] == 1) answer += "A";
            else if(arr1[i] ==3 && arr2[i] == 2) answer += "A";
            else answer += "B";

        }
        for( char x : answer.toCharArray()) {
            System.out.println(x);
        }
    }
}
728x90

'알고리즘 > JAVA' 카테고리의 다른 글

[JAVA] 17. 뒤집은 소수  (0) 2021.04.20
[JAVA] 16. 피보나치 수열  (0) 2021.04.20
[JAVA]14. 보이는 학생  (0) 2021.04.20
[JAVA] 13. 큰 수 출력하기  (0) 2021.04.20
[JAVA] 12. 암호(replace(), parseInt(string, 2))  (0) 2021.04.15

BELATED ARTICLES

more