본문 바로가기
CodingTest

[프로그래머스] PCCE 기출문제 9번 지폐접기

by Lcoding 2025. 9. 7.
반응형

안녕하세요.

 

오늘은 프로그래머스 PCCE 기출문제 9번 지폐접기를 풀어보겠습니다. 

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

해당 문제 같은 경우 문제에서 진한 네모칸으로 1,2,3 작성해준 내용의 의사코드를 그대로 코드로 풀어쓰면 됩니다.

 

포인트는 2번의 2-1, 2-2, 2-3이 될텐데요.

 

아래와 같이 글을 코드로 작성하면 됩니다.

 

bill[0]이 bill[1]보다 크다면,                                   ->    if(bill[0] > bill[1]){

bill[0]을 2로 나누고 나머지는 버립니다                 ->                   bill[0] = bill[0]/2

그렇지않다면                                                       ->      }else{

bill[1]을 2로 나누고 나머지는 버립니다.                 ->  bill[1] = bill[1]/2

answer을 1증가시킵니다.                                     ->      answer++

 

 

이런식으로 진행하면서 코드를 작성해주시면 됩니다.

아래는 최종 코드입니다.

 

class Solution {
    public int solution(int[] wallet, int[] bill) {
        int answer = 0;
        int maxBill= 0;
        int maxWallet = 0;
        int minBill= 0;
        int minWallet = 0;
        
        while(true){
            
            maxBill = Math.max(bill[0],bill[1]);
            minBill = Math.min(bill[0],bill[1]);
            maxWallet = Math.max(wallet[0],wallet[1]);
            minWallet = Math.min(wallet[0],wallet[1]);
            
            if(minBill > minWallet || maxBill > maxWallet){
               if(bill[0] > bill[1]){
                   bill[0] = bill[0]/2;
                   answer++;
               }else{
                   bill[1] = bill[1]/2;
                   answer++;
               }
            }else{
                break;
            }
            
        }
        
     
        return answer;
    }
}

 

 

 

문제에 나온 의사코드를 프로그래밍 언어코드로 변경만 할 수 있으면 어렵지 않은 문제였습니다.

감사합니다.

 

 

반응형

loading