[프로그래머스, 340199] [PCCE 기출문제] 9번 / 지폐 접기 (java)
Problem Solving/Programmers

[프로그래머스, 340199] [PCCE 기출문제] 9번 / 지폐 접기 (java)

728x90

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

 

프로그래머스

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

programmers.co.kr

728x90

메모리: 76 MB, 시간: 0.04 ms

사용 알고리즘: 구현

class Solution {
    public int solution(int[] wallet, int[] bill) {
        
        int tmp;
        
        // wallet의 긴 쪽이 0 번 인덱스에 오도록 정렬
        if(wallet[0] < wallet[1]) {
            tmp = wallet[0];
            wallet[0] = wallet[1];
            wallet[1] = tmp;
        }
        
        int answer = 0;
        
        while(true) {
            // 항상 지폐의 긴 쪽이 0번 인덱스에 오도록 유지
            if(bill[0] < bill[1]) {
                tmp = bill[0];
                bill[0] = bill[1];
                bill[1] = tmp;
            }
            
            // 지갑에 들어가는지 확인
            if(bill[0] <= wallet[0] && bill[1] <= wallet[1]) break;
            
            // 반으로 접기
            bill[0] /= 2;
            answer++;
        }
    
        return answer;
    }
}
728x90