Problem
- You will be given a number and you will need to return it as a string in Expanded Form.
- 주어진 숫자를 확장된 형태의 문자열로 반환한다.
- All numbers will be whole numbers greater than 0.
- 모든 숫자는 0보다 큰 정수(whole number)이다.
Solution 01
function expandedForm(n) {
let arr = n.toString().split('').reverse();
let result = [];
for (let i = 0; i < arr.length; i++) {
arr[i] == 0 ? result.push() : result.push(arr[i] + '0'.repeat(i));
}
return result.reverse().join(' + ');
}
expandedForm(12); // '10 + 2'
expandedForm(42); // '40 + 2'
expandedForm(50401); // '50000 + 400 + 1'
===
이 아닌 ==
맞음
Solution 02
function expandedForm(n) {
return n.toString().split('').reverse().map((i, index) => i * Math.pow(10, index)).filter(i => i > 0).reverse().join(' + ');
}
expandedForm(12); // '10 + 2'
expandedForm(42); // '40 + 2'
expandedForm(50401); // '50000 + 400 + 1'