Solution1 (내 풀이)
값의 차이로 A, B, D를 구분한다.
private void solution(int n, int[] a, int[] b) {
StringBuilder sb = new StringBuilder();
// 두 값의 차이를 이용하여 구함.
for (int i = 0; i < n; i++) {
int num = a[i] - b[i];
if (num == 1 || num == -2){
sb.append("A\n");
} else if (num == 2 || num == -1) {
sb.append("B\n");
} else if (num == 0) {
sb.append("D\n");
}
}
System.out.println(sb);
}
Solution2 (강사님 풀이)
비기거나 A가 이기는 경우를 풀어서 코드를 작성한 후 else 나머지는 B 가 이기는 경우라고 볼 수 있다.
private void solution(int n, int[] a, int[] b) {
StringBuilder sb = new StringBuilder();
// 비기거나 A가이기는 경우를 제외하면 전부 B가 이기는 경우로 짧게 줄임
for (int i = 0; i < n; i++) {
if (a[i] == b[i]) sb.append("D\n");
else if(a[i] == 3 && b[i] == 2) sb.append("A\n");
else if(a[i] == 2 && b[i] == 1) sb.append("A\n");
else if(a[i] == 1 && b[i] == 3) sb.append("A\n");
else sb.append("B\n");
}
System.out.println(sb);
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 5.소수(에라토스테네스 체)_Java (0) | 2022.04.20 |
---|---|
인프런 4. 피보나치 수열(Java) (0) | 2022.04.20 |
인프런 2. 보이는 학생 (Java) (0) | 2022.04.20 |
인프런 13. 큰 수 출력하기 (Java) (0) | 2022.03.30 |
인프런 12. 암호(JAVA) (0) | 2022.03.30 |