[프로그래머스] 마법의 엘리베이터

최동혁·2022년 12월 29일
0

프로그래머스

목록 보기
61/68

풀이 방법

중요한 키 포인트는 1의 자리 수 부터 시작할지, 가장 끝 자리 수 부터 시작할지이다.
그 다음 키는 5와 9이다.
5를 더해서 자리수를 넘길지, 빼서 0으로 만들지이다.
여기서 생각해야할 반례가 95와 55이다.
45는 45 -> 40 -> 0 : 5 + 4 = 9
55는 55 -> 60 -> 100 -> 0 : 5 + 4 + 1 = 10
95는 95 -> 100 -> 0 -> 5 + 1 = 6

풀이 코드

def solution(storey):
    answer = 0
    res = int(storey)
    while True:
        if res == 0:
            break
        a = res % 10
        if a >= 6:
            answer += 10 - a
            res = res // 10 + 1
        elif a == 5:
            temp = res // 10
            b = temp % 10
            if b == 5 or b == 9:
                answer += 5
                res = res // 10 + 1
            else:
                answer += 5
                res = res // 10
        else:
            answer += a
            res = res // 10
    return answer
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글