Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 주사위 게임 2 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 주사위 게임 2 (Java/자바)

luke-king 2025. 10. 24. 16:48

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/181930

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


class Solution {
    public int solution(int a, int b, int c) {
        int answer = 0;
        int sum = a + b + c;
        int squareSum = a*a + b*b + c*c;
        int cubeSum = a*a*a + b*b*b + c*c*c;
        

        if (a == b && b == c) {
            answer = sum * squareSum * cubeSum;
        } else if (a == b || b == c || a == c) {
            answer = sum * squareSum;
        } else {
            answer = sum;
        }
        
        return answer;
    }
}

이번 문제는 프로그래머스 "주사위 게임 2" 문제다.

문제 접근하는데 크게 어려움이 없어 바로 풀이해보겠다.

참고로 Math.pow() 제곱근 만들어주는 double형 함수도 있어서 사용했었지만 가독성과 메모리 효율이 좋은 부분을 찾아서 한 풀이이다.

그럼 바로 풀이해보겠다.

 

1. sum 변수는 세 개의 합, squareSum 변수는 각 제곱의 합, cubeSum 변수는 각 세제곱의 합으로 식을 만들어 준다.

 

2. 이제 조건식으로 a, b, c 값이 모두 같을 때, a, b, c 중 두 개만 같고 하나는 다를 때, 마지막으로 else 모두 다를 때의 값을 구해주면 끝이다.