주사위 게임 2
풀이
- if문을 사용하는 방법
class Solution {
public int solution(int a, int b, int c) {
int answer = a + b + c;
if (a == b || b == c || a == c) {//두 숫자가 같고, 하나의 숫자가 다른 경우
answer *= (a * a + b * b + c * c);
}
if (a == b && b == c) {//모두 같은 숫자인 경우
answer *= (a * a * a + b * b * b + c * c * c);
}
return answer;
}
}
- (int) pow(a, 2) 를 이용하여 a*a를 만들 수 있음
- pow( , )를 클래스로 만들어 오버라이딩 하는 방법
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를 증가시킴
count++;
}
if(a == b && b == c) {
// 세 숫자가 같을 때 한번 더 count를 증가시킴
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; // 거듭제곱의 지수가 0일 때 결과는 1리턴 (0제곱은 1)
return a * pow(a, b-1); // a의 (b-1)제곱 리턴
}
}
'코딩테스트' 카테고리의 다른 글
[programmers] JAVA_0단계 문자열 앞의 n글자 (substring 예제) (0) | 2024.06.18 |
---|---|
[programmers] JAVA_0단계 이어 붙인 수 (0) | 2024.06.18 |
[programmers] JAVA_0단계 등차수열의 특정한 항만 더하기 (0) | 2024.06.18 |
[programmers] JAVA_0단계 flag에 따라 다른 값 반환하기 (0) | 2024.06.18 |
[programmers] JAVA_0단계 코드 처리하기 (1) | 2024.06.17 |