티스토리 뷰
💡 문제 해결 아이디어
1. 현재 자리수 단위로 이동 (ex. 두자리의 경우 10) vs 하나 더 큰 단위로 이동 (ex. 두자리의 경우 100)
- 4층이면, -10으로 이동하는 것보단 그냥 -1로 4번 이동하는게 낫다.
- 9층이면, -10으로 이동하고 +1로 이동하는게 -1로 9번보다 낫다.
2. 양수나 음수나 똑같다.
- 4층이나 -4층이나 1단위로 4번 이동해야하는 건 똑같다. 모든 수에서 양수나 음수나 똑같다.
💻 작성된 코드
def solution(storey):
answer = 0
# 도착할때까지,
while storey > 0:
# 현재 숫자 자리수
num_digits = len(str(storey))
# 하나 더 큰 단위로 이동 & 현재 자리수 단위로 이동
# 양수나 음수나 똑같다.
case_a = abs(storey - 10 ** num_digits)
case_b = abs(storey - 10 ** (num_digits - 1))
# 양수화 후 비교해서 0에 더 가까운 경우 선택.
storey = min(case_a, case_b)
# 한번 이동했으니 answer += 1
answer += 1
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스, 파이썬] 완주하지 못한 선수 (해시) (0) | 2023.01.01 |
---|---|
[프로그래머스, 파이썬] 디펜스 게임 (연습문제, 큐) (0) | 2023.01.01 |
[프로그래머스, 파이썬] 조이스틱, 그리디 (0) | 2022.12.31 |
[프로그래머스 기능개발] (파이썬) (0) | 2022.12.31 |
[프로그래머스, 파이썬] 크기가 작은 부분문자열, 연습문제 (1) | 2022.12.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코테
- 디펜스
- Attend and Excite
- 문자열 나누기 파이썬
- ChatGPT
- 프로그래머스
- BFS
- 파이썬
- 프로그래머스 햄버거 만들기
- 프로그래머스 가장 가까운 글자
- 스테이블디퓨전
- 프로그래머스 아이템줍기
- OpenAI
- 가장 가까운 글자 파이썬
- Stable Diffusion
- leetcode
- 인공지능
- heapq
- 연습문제
- 코딩테스트
- python
- 프로그래머스 파이썬
- 프로그래머스 문자열 나누기
- stablediffusion
- 프로그래머스 연속된수의합
- 큐
- 그리디
- Low Manifold Theory
- heap
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함