-
[Programmers] 마법의 엘리베이터 / ⭕Algorithm/Programmers 2024. 7. 23. 21:44
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 제출 코드 (52분 32초 / Greedy)
import java.util.*; class Solution { public int solution(int storey) { int answer = 0; while(storey != 0) { int t = storey % 10; storey /= 10; if(t > 5) { answer += 10 - t; storey++; } else if(t == 5) { if(storey % 10 >= 5) { storey++; } answer += t; } else { answer += t; } } return answer; } }
2. 구현 로직
- 0층이 될 때까지 반복
- 민수 위치 > 5일 경우, 올라가는 게 최소한의 돌을 사용할 수 있으며 앞자리를 1 더해준다.
- 민수 위치 < 5일 경우, 내려가는 게 최소한의 돌을 사용할 수 있다.
- 민수 위치 = 5일 경우, 앞자리를 고려해야 하는데 앞자리가 5 이상일 경우에는 올라가는 게 최소한의 돌을 사용할 수 있으며 4 이하일 경우에는 내려가는 게 최소한의 돌을 사용하는 것이다.
3. 유의할 점
- 민수 위치 = 5일 경우에 앞자리를 고려해야 하는 것을 유의해야 할 것 같다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 택배 배달과 수거하기 / ❌ (1) 2024.10.02 [Programmers] 귤 고르기 / ⭕ (0) 2024.07.24 [Programmers] 시소 짝꿍 / ❌ (0) 2024.07.21 [Programmers] 뒤에 있는 큰 수 찾기 / ❌ (0) 2024.07.20 [Programmers] 숫자 변환하기 / ⭕ (0) 2024.07.17 - 0층이 될 때까지 반복