https://school.programmers.co.kr/learn/courses/30/lessons/148653
코드
def solution(storey):
answer = 0
while storey > 0:
len_storey = len(str(storey))
num1 = abs(storey - 10 ** len_storey)
num2 = abs(storey - 10 ** (len_storey - 1))
storey = min(num1, num2)
answer += 1
return answer
현재 층의 자리수 단위로 이동한다. 만약 16인 경우 두 자리 수이므로 10 ** 2 = 100 또는 10 ** (2 - 1) = 10 을 뺀 수 중에서 작은 값을 선택하여 0이 될 때까지 반복한다.
'코딩테스트 > programmers (python)' 카테고리의 다른 글
Programmers / 3단계 / 호텔 대실 / python (0) | 2024.05.13 |
---|---|
Programmers / 2단계 / 시소 짝꿍 / python (0) | 2024.05.10 |
Programmers / 2단계 / 괄호 변환 / python / 2020 KAKAO BLIND RECRUITMENT (0) | 2024.05.08 |
Programmers / 3단계 / 스티커 모으기(2) / python (0) | 2024.05.07 |
Programmers / 3단계 / 불량 사용자 / python / 2019 카카오 개발자 겨울 인턴십 (0) | 2024.05.04 |