[프로그래머스] 마법의 엘리베이터(148653)

lhs's avatar
Jan 02, 2025
[프로그래머스] 마법의 엘리베이터(148653)
 

1. 문제 풀이 아이디어

  • 아래 자릿수부터 위로 올라가며 계산하는 방식으로 문제를 해결할 수 있다.

2. 나의 정답 코드

class Solution { public int solution(int storey) { int answer = 0; while (storey > 0) { int n = storey % 10; storey /= 10; if (n > 5 || (n == 5 && storey % 10 > 4)) { storey++; n = 10 - n; } answer += n; } return answer; } }

3. 정리

  • 가장 아래 자릿수를 n으로 구하고, storey10으로 나누어 다음 자릿수로 이동한다.
  • n5보다 크거나, n5와 같으면서 다음 자릿수가 4보다 크면 storey1 증가시키고, n10 - n으로 계산한다.
  • 계산된 n을 결과값에 더한다.
  • 이 과정을 storey0이 될 때까지 반복하여 문제를 해결한다.
Share article

LHS's Study Space