피자 나눠 먹기 (2)[CT]

성배·2025년 1월 8일
1

코딩테스트

목록 보기
7/53

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 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명에게 동일한 피자 조각수를 줬을때 딱 떨어진다면 그게 최대 공약수이다

0개의 댓글