본문 바로가기
알고리즘 문제풀이

[알고리즘/인프런] 2-3 가위바위보(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의)

by jeonghaemin 2021. 5. 12.
728x90

인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.

내 풀이

  • if문을 사용하여 둘중 한 사람을 기준으로 경우의 수를 조건으로 나눠서 간단히 해결
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

//가위바위보
public class Main2_3 {

    public static char[] solution(int n, int[] a, int[] b) {

        char[] retArr = new char[n];

        for (int i = 0; i < n; i++) {

            if (a[i] == b[i]) {
                retArr[i] = 'D';
            } else if ((a[i] == 1 && b[i] == 3) || (a[i] == 2 && b[i] == 1) || (a[i] == 3 && b[i] == 2)) {
                retArr[i] = 'A';
            } else {
                retArr[i] = 'B';
            }
        }

        return retArr;
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());
        int[] a = new int[n];
        int[] b = new int[n];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            a[i] = Integer.parseInt(st.nextToken());
        }

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            b[i] = Integer.parseInt(st.nextToken());
        }

        char[] chars = solution(n, a, b);

        for (char c : chars) {
            System.out.println(c);
        }
    }
}

댓글