728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제)1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다.

세 숫자가 모두 다르다면 a + b + c 점을 얻습니다.
세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다.
세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다.
세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.

 

 

 

 

풀이)

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

        if(a==b && b==c){
            answer = (a + b + c) * (int)(Math.pow(a,2) + Math.pow(b,2) + Math.pow(c,2) ) * (int)(Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3) );
        }else if(a==b || b==c || a==c){
            answer = (a + b + c) * (int)(Math.pow(a,2) + Math.pow(b,2) + Math.pow(c,2) ) ;
        }else{
            answer = a+b+c;
        }

        return answer;
    }
}

뭔가 제곱이여서 일부로 Math.pow썼는데, 그냥 a*a로 해도 깔끔했을것 같은...느낌...?😭

728x90