주사위 게임3 이었는데 문제가 경우의 수가 너무 많아서 어려움
if문을 덕지 덕지 발라가며 풀었는데
다른 사람의 풀이가 너무 기똥찼다.
import java.util.Arrays;
class Solution {
public int solution(int a, int b, int c, int d) {
int[] dice = { a, b, c, d };
Arrays.sort(dice);
int ans = 0;
if (dice[0] == dice[3]) {
ans = 1111 * dice[3];
} else if (dice[0] == dice[2] || dice[1] == dice[3]) {
ans = (int) Math.pow(dice[1] * 10 + (dice[0] + dice[3] - dice[1]), 2);
} else if (dice[0] == dice[1] && dice[2] == dice[3]) {
ans = (dice[0] + dice[3]) * (dice[3] - dice[0]);
} else if (dice[0] == dice[1]) {
ans = dice[2] * dice[3];
} else if (dice[1] == dice[2]) {
ans = dice[0] * dice[3];
} else if (dice[2] == dice[3]) {
ans = dice[0] * dice[1];
} else {
ans = dice[0];
}
return ans;
}
}
주사위 값에 대한 경우의 수가 많았는데
그걸 sort함수로 정렬해서 푸니 간단해짐...
박수 짝짝짝
'공부중 > 혼자공부하는자바' 카테고리의 다른 글
implement와 extends 차이 (1) | 2024.04.04 |
---|---|
GET/SET 메서드 (0) | 2024.03.15 |
리스트에서 배열로 전환 (0) | 2024.02.20 |
코딩테스트 (0) | 2024.02.14 |
자바 동작원리 (0) | 2024.02.02 |
댓글