[Programmers / Level 1] 340199. PCCE 기출문제 9번 / 지폐 접기(Java)

이하얀·2024년 10월 27일
0

🕊️ 프로그래머스

목록 보기
60/82

💡 Info




입출력 조건




입출력 예시




문제 이해


  • 주어진 지갑 크기에 맞춰 지폐를 최소한으로 접는 횟수를 계산하면 되는 문제


알고리즘


풀이 시간 : 47분

  1. wallet, bill 크기를 정렬 -> wallet[0]을 작은 변, wallet[1]을 큰 변으로 설정하기
  2. 지폐가 지갑보다 크다면
    -> 지폐의 큰 변을 반으로 접기 -> 횟수 계속 증가
import java.util.*;

class Solution {
    public static int solution(int[] wallet, int[] bill) {
        int answer = 0;

        Arrays.sort(wallet);
        Arrays.sort(bill);

        while (!fit(wallet, bill)) {
            bill[1] /= 2;
            Arrays.sort(bill);
            answer++;
        }
        return answer;
    }

    public static boolean fit(int[] wallet, int[] bill) {
        return (bill[0] <= wallet[0] && bill[1] <= wallet[1]) ||
               (bill[0] <= wallet[1] && bill[1] <= wallet[0]);
    }
}


결과


profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE&Data Science 개발 기록 노트☘️

0개의 댓글