Algorithm/문제

15. 가위 바위 보

챛채 2023. 5. 30. 15:56

 

N=5로 초기화 한 후 if문을 사용하는데 기준을 A 한 명에게 두고 

  1. A가 이긴 경우
    1. A가 가위로 이긴 경우
    2. A가 바위로 이긴 경우
    3. A가 보로 이긴 경우
  2. A가 비긴경우
  3. A가 진 경우로 구별한다.
import java.util.Scanner;

public class Main {
    public String solution(int n, int[] a, int[] b) {
        String answer="";
        for (int i = 0; i < n; 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;
}
   public static void main(String[] args){
       Main T = new Main();
       Scanner kb = new Scanner(System.in);
       int n=kb.nextInt();
       int[] a=new int[n];
       int[] b=new int[n];
       for (int i = 0; i < n; i++) { //n개의 숫자 받음
           a[i]=kb.nextInt();
       }
       for (int i = 0; i < n; i++) {
           b[i]=kb.nextInt();
       }
       for (char x: T.solution(n, a, b).toCharArray()) System.out.println(x); //스트링 받아 문자 배열해서 출력

   }
}

 

switch 문으로 풀어보면

import java.util.Scanner;

public class Main {
    public String solution(int n, int[] a, int[] b) {
        String answer="";
        for (int i = 0; i < n; i++) {
            switch (a[i] - b[i]){
                case -1: case 2: {
                    answer += "B";
                    break;
                }
                case 1: case -2: {
                    answer += "A";
                    break;
                }
                case 0: {
                    answer += "D";
                    break;
                }
            }
        }
        return answer;
}
   public static void main(String[] args){
       Main T = new Main();
       Scanner kb = new Scanner(System.in);
       int n=kb.nextInt();
       int[] a=new int[n];
       int[] b=new int[n];
       for (int i = 0; i < n; i++) { //n개의 숫자 받음
           a[i]=kb.nextInt();
       }
       for (int i = 0; i < n; i++) {
           b[i]=kb.nextInt();
       }
       for (char x: T.solution(n, a, b).toCharArray()) System.out.println(x); //스트링 받아 문자 배열해서 출력

   }
}

마지막 문자 출력할 때 문자 하나 하나 줄바꿈하는 거 주의하기