Algorithm/문제
15. 가위 바위 보
챛채
2023. 5. 30. 15:56
N=5로 초기화 한 후 if문을 사용하는데 기준을 A 한 명에게 두고
- A가 이긴 경우
- A가 가위로 이긴 경우
- A가 바위로 이긴 경우
- A가 보로 이긴 경우
- A가 비긴경우
- 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); //스트링 받아 문자 배열해서 출력
}
}
마지막 문자 출력할 때 문자 하나 하나 줄바꿈하는 거 주의하기