본문 바로가기
JAVA/Programmers

JAVA 프로그래머스 [피자 나눠 먹기(2)] 자바 Lv.0

by tripleup 2023. 5. 25.
728x90
반응형

[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 피자 나눠 먹기(2)

https://school.programmers.co.kr/learn/courses/30/lessons/120815


해결 과정

 

피자 한 판은 6조각, 한사람이 먹는 피자의 개수를 i라고 하고 사람수는 n이므로,

6와 n의 최대공약수를 구한다. (gcd)

 

사람 수 n를 최대공약수인 gcd로 나눠주면 피자가 몇 판이어야하는지 알 수 있다.

 

소스 코드

 

class Solution {
    public int solution(int n) {
        int answer = 0;
        int gcd = 0;
        
        for(int i =1; i <=n; i++) {
            if(6 % i == 0 && n % i == 0 ) {
                gcd = i;
            }
        }
        answer = n / gcd;
        
        return answer;
    }
}

 

(또 다른 답안)

 

class Solution {
    public int solution(int n) {
        int answer = 0;
        int max = 0;
        
        for (int i=1; i<=n; i++) {
            if (n%i == 0 && 6%i == 0) {
                max = i;
            } 
            answer = (n * 6 / max) / 6 ;
        }   
        return answer;
    }
}

 


728x90
반응형

댓글