[프로그래머스/181916] 주사위 게임 3

☑️ 문제

프로그래머스 181916

☑️ 풀이

  • 주어진 값들을 먼저 오름차순으로 정렬 후, 모든 케이스를 나누어서 풀었다.
//시간: 0.69ms
//메모리: 89.9MB

import java.util.*;

class Solution {
    public int solution(int a, int b, int c, int d) {
        int[] arr = {a, b, c, d};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));

        if (arr[0] == arr[3]) {
            return 1111 * arr[0];
        } else if (arr[0] == arr[2] && arr[0] != arr[3]) {
            return (10 * arr[0] + arr[3]) * (10 * arr[0] + arr[3]);
        } else if (arr[1] == arr[3] && arr[0] != arr[3]) {
            return (10 * arr[1] + arr[0]) * (10 * arr[1] + arr[0]);
        } else if (arr[0] == arr[1] && arr[2] == arr[3] && arr[0] != arr[2]) {
            return ((arr[0] + arr[2]) * Math.abs(arr[0] - arr[2]));
        } else if (arr[1] == arr[2] && arr[0] == arr[3] && arr[1] != arr[0]) {
            return ((arr[0] + arr[1]) * Math.abs(arr[0] - arr[1]));
        } else if (arr[0] == arr[1]) {
            return arr[2] * arr[3];
        } else if (arr[1] == arr[2]) {
            return arr[0] * arr[3];
        } else if (arr[2] == arr[3]) {
            return arr[0] * arr[1];
        } else {
            return arr[0];
        }
    }
}

© 2021. All rights reserved.

yaejinkong의 블로그