본문 바로가기

코딩테스트

피자 나눠 먹기 (2) 프로그래머스 코딩테스트 JAVA

프로그래머스  JAVA  코딩테스트  피자 나눠 먹기 (2)

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

문제설명 : 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

테이스케이스 추가 :


코드  :

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        if(n%6 == 0){
            answer = n/6;
        }else{
            int nOrigin = n ;
            int b =6;
                    
            while (b != 0) { 
                int temp = b; 
                b = n % b;  
                n = temp; 
               
            }
            answer = 6/n*nOrigin/6;
        }
    
        return answer;
    }
}

코드 수정 전 : ( 통과됨, 눈물겨운 과정... )

class Solution {
    public int solution(int n) {
        //n = 16;
        
        int answer = 0;
        if(n%6 == 0){
            answer = n/6;
        //}else if(n > 6){
        }else{
            int nOrigin = n ;
            int b =6;
            //System.out.println("@");           
            while (b != 0) { 
                int temp = b; 
                //System.out.println("n :: "+n);
                b = n % b; 
                 //System.out.println("b = n % b : "+b);
                n = temp; 
               
            }
           // System.out.println(n);
            answer = 6/n*nOrigin/6;
            //System.out.println("a is "+answer);
            
            //int gcd = 0; 
            
            //while ( b > 0) { 
                //gcd = n % b;
                //n = b;
                //b = gcd;
                //System.out.println("n : "+n+" ,b :"+b+" ,gcd:"+gcd);
            //}
            //answer = nOrigin/n;
        
//         }else if(n < 6){
//             System.out.println("작을때");  
//            //answer = (6-n);
//             answer = 6*n/6; 
//         }
        // } else {
        //     answer = n*6/6;
        }
    
        return answer;
    }
}
728x90
300x250