PCCE 기출이고 레벨 1은 되길래 풀어봤는데 생각보다 너무 쉬웠다.
문제의 조건인 지폐를 접을 때는 항상 길이가 긴 쪽을 반으로 접습니다. 이 부분만 잘 지키면 정렬로 어렵지 않게 풀 수 있었다.
import java.util.*;
class Solution {
public int solution(int[] wallet, int[] bill) {
int answer = 0;
// 정렬 싹 해주기
Arrays.sort(wallet);
Arrays.sort(bill);
while (bill[0] > wallet[0] || bill[1] > wallet[1]) {
// 더 큰 지폐를 접어야함
if (bill[0] >= bill[1]) {
bill[0] /= 2;
} else {
bill[1] /= 2;
}
// 접은거 기준으로 재정렬
Arrays.sort(bill);
answer++;
}
return answer;
}
}
Java
복사