머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
생각한 풀이
1. 나누어 떨어지게 만들자
2. 동일한 양의 피자를 줘야한다
3. 두 수가 같은 양으로 나누었을때 나머지가 0인 수를 구한다 -> 최대공약수
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=6*n;i++){
if((i*6)%n==0){
answer=i;
break;
}
}
return answer;
}
}
🐴 풀이
1. n과 6의 최소공약수를 구해야해서 for문에 i * n으로 범위 설정
2. for문 내부에서 if문으로 i * 6의 나머지가 0이라면 즉, n명에게 동일한 피자 조각수를 줬을때 딱 떨어진다면 그게 최대 공약수이다