이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.


문제 설명

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class sec02_03 {
    public static void solution(int N, String A, String B) {
        StringTokenizer aSt = new StringTokenizer(A);
        StringTokenizer bSt = new StringTokenizer(B);
        int[] aArr = new int[N];
        int[] bArr = new int[N];

        for(int i = 0; i < N; ++i){
            aArr[i] = Integer.parseInt(aSt.nextToken());
            bArr[i] = Integer.parseInt(bSt.nextToken());
            if(aArr[i] == bArr[i]) System.out.println("D");
            else if
            (
                (aArr[i] == 1 && bArr[i] == 3) ||
                (aArr[i] == 2 && bArr[i] == 1) ||
                (aArr[i] == 3 && bArr[i] == 2)
            ) System.out.println("A");
            else System.out.println("B");
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        String aInput = br.readLine();
        String bInput = br.readLine();
        solution(N, aInput, bInput);
    }
}

 

설명

  • 두 플레이어의 선택이 같으면 “D”를 출력하여 무승부임을 나타낸다.
  • 첫 번째 플레이어가 이기는 경우
     첫 번째 플레이어가 가위(1)이고 두 번째 플레이어가 보(3)일 때
    첫 번째 플레이어가 바위(2)이고 두 번째 플레이어가 가위(1)일 때 
    첫 번째 플레이어가 보(3)이고 두 번째 플레이어가 바위(2)일 때
  • 이외의 경우는 두 번째 플레이어가 이긴다.