일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- lambda
- 연습문제
- 코딩테스트
- programmers
- Queue
- 조합
- level4
- mysql
- import re
- Level2
- collections
- coding test
- 시간복잡도
- python
- coding
- 데이터분석
- sql
- time complexity
- 완전탐색
- Stack
- 파이썬
- lv4
- join
- 코딩
- itertools
- BFS
- 프로그래머스
- CodingTest
- 코테
- counter
- Today
- Total
ror_coding
[Programmers] 마법의 엘리베이터 - 148653 본문
728x90
특수한 경우를 인지하고 대처하기 !
Question
마법의 돌을 아끼기 위해 민수는 항상 최소한의 버튼을 눌러서 이동하려고 합니다. 민수가 어떤 층에서 엘리베이터를 타고 0층으로 내려가는데 필요한 마법의 돌의 최소 개수를 알고 싶습니다. 민수와 마법의 엘리베이터가 있는 층을 나타내는 정수 storey 가 주어졌을 때, 0층으로 가기 위해 필요한 마법의 돌의 최소값을 return 하도록 solution 함수를 완성하세요.
- 1 ≤ storey ≤ 100,000,000
Point
- r 이 5일 때 10의 자리를 보며 경우의 수를 다시 나눠야 함.
Code
def solution(storey):
cnt = 0
while storey :
storey, r = storey//10, storey%10
if r < 5 or ( r==5 and storey%10 < 5): cnt += r
else : cnt += (10-r); storey += 1
return cnt
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/014.gif)
now me
On my github
728x90
'Algorithm > Python' 카테고리의 다른 글
[Programmers] 숫자 카드 나누기 - 135807 (0) | 2024.12.21 |
---|---|
[Programmers] 시소 짝꿍 - 152996 (0) | 2024.12.13 |
[Programmers] 연속된 부분 수열의 합 - 178870 (0) | 2024.12.12 |
[Programmers] 큰 수 만들기 - 42883 (0) | 2024.12.12 |
[Programmers] 소수 찾기 - 42839 (0) | 2024.12.12 |