
자바에서 제곱을 계산하는 함수 Math.pow() 입니다.
함수: Math.power(double, double)
첫번째인자는 밑수이고, 두번째 인자는 지수입니다.
Math.pow(3,2) 이라고 하면 3의 2제곱이 계산을 하게 됩니다.
다른사람풀이
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);
}
}
class Solution {
public int solution(int a, int b, int c) {
return a == b && b == c ? (a + b + c) * (a * a + b * b + c * c) * (a * a * a + b * b * b + c * c * c) : a == b || b == c || c == a ? (a + b + c) * (a * a + b * b + c * c) : a + b + c;
}
}
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Solution {
public int solution(int a, int b, int c) {
Set<Integer> numbers = Stream.of(a, b, c).collect(Collectors.toSet());
return (a + b + c) *
(numbers.size() < 3 ? a * a + b * b + c * c : 1) *
(numbers.size() < 2 ? a * a * a + b * b * b + c * c * c : 1);
}
}
import java.util.HashMap;
import java.util.Map;
class Solution {
public int solution(int a, int b, int c) {
int answer = 0;
Map<Integer, Integer> map = new HashMap<>();
map.put(a, map.getOrDefault(a, 0) + 1);
map.put(b, map.getOrDefault(a, 0) + 1);
map.put(c, map.getOrDefault(a, 0) + 1);
if (map.size() == 1) {
answer = (int) ((3 * a) * (3 * Math.pow(a, 2)) * (3 * Math.pow(a, 3)));
} else if (map.size() == 2) {
answer = (int) ((a + b + c) * (Math.pow(a, 2) + Math.pow(b, 2) + Math.pow(c, 2)));
} else if (map.size() == 3) {
answer = (a + b + c);
}
return answer;
}
}
런타임줄일 수 있게 다양한 생각하자!!
'알고리즘 테스트 공부' 카테고리의 다른 글
이어 붙인 수 (2) | 2023.12.21 |
---|---|
원소들의 곱 과 합 (1) | 2023.12.20 |
등차수열의 특정한 항만 더하기 (0) | 2023.12.18 |
코드 처리하기 (0) | 2023.12.14 |
flag에 따라 다른값 반환하기 (0) | 2023.12.08 |