Develop

[프로그래머스] 주사위 게임2 본문

개인 공부/프로그래머스

[프로그래머스] 주사위 게임2

개발 기록 2024. 1. 18. 22:52

문제

 

 

내풀이

class Solution {
    public int solution(int a, int b, int c) {
        int answer = a + b + c;

        if((a==b) && (b==c) && (c==a)){ // 세 숫자가 모두 같음
            answer = answer*(a*a + b*b + c*c)*(a*a*a + b*b*b + c*c*c);
        }else if( (a!=b) && (b!=c) && (c!=a) ){ // 세 숫자가 모두 다름

        }else{ // 세 숫자 중 어느 두 숫자는 같고 나머지 숫자가 다름
            answer = answer*(a*a + b*b + c*c);
        }

        return answer;
    }
}

 

 

다른 풀이

class Solution {
    public int solution(int a, int b, int c) {
        int answer = 1;

        int count = 1;
        if(a == b || a == c || b == c) {
            count++;
        }

        if(a == b && b == c) {
            count++;
        }

        for(int i = 1; i <= count; i++) {
            answer *= (pow(a,i)+pow(b,i)+pow(c,i));
        }

        return answer;
    }

    private int pow(int a, int b) {
        if(b == 0) return 1;
        return a * pow(a, b-1);
    }
}

 

느낀점

 

일반 조건문으로만 푸는 것이 아닌  for문과 pow()함수를 이용했다

나도 pow함수를 이렇게 정의해서 쓰는 방법도 좋은 것 같다 

그러나 굳이 b-1를 한 이유가 있는지 궁금하다