function solution(storey) {
const arr = [0, ...String(storey)].map(Number);
let result = 0;
for (let i = arr.length - 1; i >= 0; --i) {
if (arr[i] > 5) {
++arr[i - 1];
result += 10 - arr[i];
} else if (arr[i] === 5 && i > 0) {
if (arr[i - 1] >= 5) {
++arr[i - 1];
result += 10 - arr[i];
} else {
result += arr[i];
}
} else {
result += arr[i];
}
}
return result;
}
난이도 순으로 치면 매번 푸는 문제가 지금까지 가장 어려운 문제가 맡긴 한데 진짜 어려웠다.
이래저래 노가다 하다가 사람들 힌트를 보고 올림, 버림 개념으로 푸는데도 못 통과하는 테스트 케이스 수두룩...
탐색하는 인덱스가 0일 때 예외가 생길 수 있기 때문에 그걸 신경써주어야 했다.