반응형
자세한 문제는 여기서 확인하시면 됩니다.
N의 약수 A와 A*B=N해서 그 수를 만드는 B를 사용하여 2*(A+B)시 제일 작은 수를 구하는 문제
ex) N=30 이면 (1,30) = 62, (2,15) = 34, (3,10) = 26, (5,6) = 22 이렇게 나타나므로 22가 제일 작은 값이된다.
code
class Solution {
public int solution(int N) {
// write your code in Java SE 8
int k = (int)Math.sqrt(N);
int result = Integer.MAX_VALUE;
for(int i = 1; i <=k ; i++){
if(N%i == 0){
int a = i;
int b = (int)(N/a);
int c = 2*(a+b);
if(result > c){
result = c;
}
}
}
return result;
}
}
간단한 문제다 제곱근까지만 확인하여 제일 작은 값을 찾으면 된다.
Math.sqrt가 제곱근을 구하는 code이다.
반응형
'2023년 이전 > Codility' 카테고리의 다른 글
Lesson7 StoneWall (0) | 2020.06.07 |
---|---|
Lesson 6 - NumberOfDicIntersection (0) | 2020.01.20 |
Lesson7 - fish (0) | 2020.01.20 |
Lesson 7 - Nesting (0) | 2020.01.07 |
Lesson10 - Peaks (0) | 2020.01.06 |