https://school.programmers.co.kr/learn/courses/30/lessons/340199
이건 뭐 문제에서 의사코드를 주니까 그대로 치면 정답인데..
아무튼 이런 가로/세로 문제는 min, max값을 구해서 다른 편의 min, max와 비교하면 회전 상태까지 고려할 수 있다.
다른 사람들 풀이도 봤는데, min, max 함수를 따로 빼서 하는건 좋지만
while문 조건에 min(wallet), max(wallet)
이 들어가게 되면 매번 평가할 것 같은데... 지갑은 안 변하기 때문에 나처럼 초기화하는게 맞다고 봄
class Solution {
public int solution(int[] wallet, int[] bill) {
int answer = 0;
int walletMin = Math.min(wallet[0], wallet[1]);
int walletMax = Math.max(wallet[0], wallet[1]);
int min = Math.min(bill[0], bill[1]);
int max = Math.max(bill[0], bill[1]);
while (min > walletMin || max > walletMax) {
if (bill[0] > bill[1]) {
bill[0] /= 2;
} else {
bill[1] /= 2;
}
min = Math.min(bill[0], bill[1]);
max = Math.max(bill[0], bill[1]);
answer++;
}
return answer;
}
}