https://school.programmers.co.kr/learn/courses/30/lessons/148653#
끝자리부터 계산해나가면 됩니다.
6 이상이면 더해주고, 4 이하이면 빼줍니다.
5일때는 다음 자리를 고려해야 합니다.
예로 555의 경우,
올라가면 555 -> 560 -> 600 -> 1000 까지 총 14번
내려가면 555 -> 550 -> 500 -> 0 까지 총 15번
using System;
public class Solution {
public int solution(int storey) {
int answer = 0;
int r;
while(storey > 0)
{
storey = Math.DivRem(storey, 10, out r);
if(r > 5 || (r == 5 && (storey % 10 >= 5)))
{
answer += 10 - r;
storey += 1;
}
else answer += r;
}
return answer;
}
}