오늘이라도
[4일차][프로그래머스, 120815번, Lv. 0] 피자 나눠먹기 (2) 본문
반응형
문제
내 풀이
class Solution {
public int solution(int n) {
//소인수분해 후 없는 소수를 6에 곱해준다
//6과 n의 최소공배수/6 = answer
int lcm = getLeastCommonMultiple(n, 6);
return lcm >= 6 ? lcm / 6 : lcm;
}
private int getLeastCommonMultiple(int num1, int num2) {
int lcm = 0;
loop:
for(int i = 1; i <= num2; i++) {
int a = num1 * i;
for(int j = 1; j <= num1; j++) {
int b = num2 * j;
if(a == b) {
lcm = a;
break loop;
} else if(a < b) {
continue;
}
}
}
return lcm;
}
}
채점 결과
피드백
최소공배수를 이용하여 풀었다
break (루프명) 을 활용하여 다중반복문도 한번에 break 가능
최대공약수 구하기
public int GCD(int num1, int num2) {
if (num1 % num2 == 0)
return num2;
return GCD(num2, num1 % num2);
}
최소공약수 구하기
public int LCM(int num1, int num2) {
return num1 * num2 / GCD(num1, num2);
}
반응형
'개발 공부 > 코딩테스트' 카테고리의 다른 글
[4일차][프로그래머스, 120817번, Lv. 0] 배열의 평균값 (0) | 2022.12.20 |
---|---|
[4일차][프로그래머스, 120816번, Lv. 0] 피자 나눠먹기 (3) (0) | 2022.12.20 |
[4일차][프로그래머스, 120814번, Lv. 0] 피자 나눠먹기 (1) (0) | 2022.12.20 |
[4일차][프로그래머스, 120813번, Lv. 0] 짝수는 싫어요 (0) | 2022.12.20 |
[4일차][프로그래머스, 120812번, Lv. 0] 최빈값 구하기 (0) | 2022.12.20 |