<aside> 💡

정확한 테스트 케이스 통과와 빠른 시간안에 구현하는게 핵심

</aside>

1. 내가 작성한 코드

def solution(wallet, bill):
    answer = 0
    wallet.sort()
    bill.sort()
    while bill[0] > wallet[0] or bill[1] > wallet[1]:
        if bill[0] > bill[1]:
            bill[0] = bill[0] // 2
        else:
            bill[1] = bill[1] // 2
        bill.sort()
        answer += 1
    return answer

2. 핵심 아이디어

1. 지폐를 접은 횟수를 저장할 정수 변수 answer를 만들고 0을 저장합니다.
2. 반복문을 이용해 bill의 작은 값이 wallet의 작은 값 보다 크거나 bill의 큰 값이 wallet의 큰 값 보다 큰 동안 아래 과정을 반복합니다.
    2-1. bill[0]이 bill[1]보다 크다면
        bill[0]을 2로 나누고 나머지는 버립니다.
    2-2. 그렇지 않다면
        bill[1]을 2로 나누고 나머지는 버립니다.
    2-3. answer을 1 증가시킵니다.
3. answer을 return합니다.

for 문을 돌면서 //2를 통해 정렬된 순서가 변경될 수 있음. 따라서 for문 내부에서 //2를 해준 다음에 한번더 sort()를 하던지, 반복문의 조건을 min(bill) > min(wallet) or max(bill) > max(wallet) 으로 해야 됨