[프로그래머스] 마법의 엘리베이터 (파이썬) - Lv.2

서봉성·2022년 12월 30일
0

코딩테스트

목록 보기
9/27
post-thumbnail

문제

풀이방법

  • 5보다 작은 경우는 엘리베이터를 내려가고, 5보다 큰 경우는 올라가는 경우가 유리하다.
  • 5일 경우는 10의 자리가 5보다 같거나 큰 경우에만 올라가야 최단개수로 0층으로 갈 수 있다.
  • 입력값의 1의 자리를 조사한다.
  • 만약 5보다 작다면 그 값을 빼준다.
  • 5보다 큰 경우는 더해준다.
  • 5일 경우는 10의 자리를 조사하여 10의 자리가 5보다 같거나 큰 경우에만 더해주도록 한다.
  • 이를 입력값이 없어질 때까지 수행한다.

코드

def solution(storey):
    answer = 0
    
    while storey:
        div=storey%10
        if div==5 and storey//10%10>=5 or div>5:
            storey+=10-div
            answer+=10-div
        else:
            answer+=div
        storey=storey//10
        
    return answer```
profile
OverStudy

0개의 댓글