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
으로 구하고,storey
를10
으로 나누어 다음 자릿수로 이동한다.
n
이5
보다 크거나,n
이5
와 같으면서 다음 자릿수가4
보다 크면storey
를1
증가시키고,n
을10 - n
으로 계산한다.
- 계산된
n
을 결과값에 더한다.
- 이 과정을
storey
가0
이 될 때까지 반복하여 문제를 해결한다.
Share article