-
[JAVA] 알고리즘 문제 - 가위 바위 보Java 알고리즘 문제/자바(Java) 알고리즘 문제풀이 입문 2023. 8. 9. 11:13반응형
가위 바위 보
설명
A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.
예를 들어 N=5이면
두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요.
입력
첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.
세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.
출력
각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다.
입력예시
5
2 3 3 1 3
1 1 2 2 3출력예시A
B
A
B
Dimport java.util.Scanner; public class Main { public String test(int n, int[] arrA, int[] arrB) { String answer = ""; for(int i=0; i<n; i++) { if(arrA[i] == arrB[i]) { answer += "D"; }else if(arrA[i] == 2 && arrB[i] == 1) { answer += "A"; }else if(arrA[i] == 3 && arrB[i] == 2) { answer += "A"; }else if(arrA[i] == 1 && arrB[i] == 3){ 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[] arrA=new int[n]; int[] arrB=new int[n]; for(int i=0; i<n; i++) { arrA[i] = kb.nextInt(); } for(int i=0; i<n; i++) { arrB[i] = kb.nextInt(); } for(char x : t.test(n, arrA, arrB).toCharArray())System.out.println(x); } }
몇번의 가위바위보를 할지 입력 받고 횟수에 맞게 A와 B가 가위바위보를 한다.
public String test(int n, int[] arrA, int[] arrB) { String answer = ""; for(int i=0; i<n; i++) { if(arrA[i] == arrB[i]) { answer += "D"; }else if(arrA[i] == 2 && arrB[i] == 1) { answer += "A"; }else if(arrA[i] == 3 && arrB[i] == 2) { answer += "A"; }else if(arrA[i] == 1 && arrB[i] == 3){ answer += "A"; }else { answer +="B"; } } return answer; }
arrA[i] == arrB[i] 가 같은경우는 비기는 경우(D)
A가 바위, B가 가위 / A가 보, B가 바위 / A가 가위, B가 보 이렇게 3가지 경우를 제외하면
나머지는 B가 이기는 경우이다.
아주 간단한 가위바위보 문제였다.
반응형'Java 알고리즘 문제 > 자바(Java) 알고리즘 문제풀이 입문' 카테고리의 다른 글
[JAVA] 알고리즘 문제 - 소수(에라토스테네스 체) (0) 2023.08.09 [JAVA] 알고리즘 문제 - 파보나치수열 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 보이는 학생 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 암호 해독하기 (0) 2023.08.09 [JAVA] 알고리즘 문제 문자열 압축 (0) 2023.08.09