Notice
Recent Posts
Recent Comments
Link
04-26 21:22
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

<<개발일지>>

[배열] 3. 가위 바위 보 본문

코딩테스트

[배열] 3. 가위 바위 보

개발하는지호 2023. 12. 12. 22:05
3. 가위 바위 보
 

설명

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

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

예를 들어 N=5이면

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

입력

첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다.

두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.

세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.

출력

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

예시 입력 1 

5
2 3 3 1 3
1 1 2 2 3

예시 출력 1

A
B
A
B
D

 

 

 

<<풀이>>

 

-나의 풀이-

이번 문제는 조금만 생각하면 바로 풀 수 있는 문제이다. 이기는 세 경의 수와 비기는 것만 구해주고 나머지는 상대방이 이기는 형태로 하면 된다. 

*문제 똑바로 읽기 !! 비기는 조건 안 넣어서 처음에 틀렸다. ㅠ

import java.util.Scanner;

class Main{
    public char[] solution(int[] Arr, int[] Brr, int n) {
        char[] answer = new char[n];

        for (int i = 0; i < n; i++) {
            if (Arr[i] == 1 && Brr[i] == 2)  answer[i] = 'B';
            else if (Arr[i] == 2 && Brr[i] == 3 ) answer[i] = 'B';
            else if (Arr[i] == 3 && Brr[i] == 1)  answer[i] = 'B';
            else if (Arr[i] == Brr[i]) answer[i] = 'D';
            else answer[i] = 'A';

        }

        return answer;
    }



    public static void main(String[] args) {
        Main T = new Main();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] Arr = new int[n];
        int[] Brr = new int[n];

        for (int i = 0; i < n; i++) {
            int Anum = in.nextInt();
            Arr[i] = Anum;

        }

        for (int i = 0; i < n; i++) {
            int Bnum = in.nextInt();
            Brr[i] = Bnum;
        }

        for (char a : T.solution(Arr, Brr, n)) {
            System.out.println(a);
        }

    }
}

 

 

-강사님 풀이-

 

이 번 문제는 전체적인 흐름은 강사님과 같다.

나는 배열로 추가해서 나중에 향상된 조건문을 통해 답을 도출했다.

 

강사님은 문자열로 합쳤고, 답을 도출할 때 toCharArray()를 통해 향상된 조건문을 이용하여 풀었다.

 

구조는 같으나 문자열이냐 배열이냐의 차이었다

'코딩테스트' 카테고리의 다른 글

[배열] 5. 소수(에라토스테네스 체)  (1) 2023.12.14
[배열] 4. 피보나치 수열  (1) 2023.12.12
[배열] 2. 보이는 학생  (0) 2023.12.10
[배열] 1. 큰 수 출력하기  (1) 2023.12.08
[문자열] 12. 암호  (1) 2023.12.07