지폐 접기

우하학·2024년 11월 9일

프로그래머스

목록 보기
2/14

이거가지고 자신감 상승된 거 웃김 ㅋㅋ

문제 요약 : 지폐를 지갑에 넣을건데 지갑의 크기에 맞게 넣어야 함. 그래서 지폐가 크면 접어야 하는 거고, 가로 세로 중 큰 쪽을 접을 것이며 홀수는 반띵해서 소수점 걍 버려버림, 추가로 돌려서 넣을 수 있으면 걍 넣는 것

코드

# 지갑의 크기 : 가로 * 세로
# 지폐의 크기 : 가로 * 세로
# 지폐를 지갑의 크기에 맞게 접어서 넣어야 하는 것

# 지폐 접을 때의 규칙
# 1. 항상 길이가 긴 쪽을 반으로 접어야 함
# 2. 접기 전 길이가 홀수라면, 접은 후 소수점 이하 버림
# ex ) 241 -> 120으로
# 3. 접힌 지폐를 그대로 혹은 90도 돌려서 지갑에 넣을 수 있다면 그만 접음

def solution(wallet, bill):
    answer = 0
    while not F(wallet, bill):
        print(f"가로 : {bill[0]} 세로 : {bill[1]}")
        bill = fold(bill)
        answer += 1
    return answer

def F(wallet, bill):
    if wallet[0] >= bill[0] and wallet[1] >= bill[1] :
        return True
    elif wallet[0] >= bill[1] and wallet[1] >= bill[0] :
        return True
    return False

def fold(bill) :
    if bill[0] >= bill[1] :
        bill[0] = int(bill[0]/2)
    else :
        bill[1] = int(bill[1]/2)
    return bill

걍 흐름대로 풀었는데 너무 잘돼서 근자감지수 대폭팔 ㄱㅇㄷ

profile
코린이 탈출기

0개의 댓글