Algorithm
JavaScript로 BigInt 사용하지 않고 큰 숫자 더하기
Bonita SY
2021. 1. 21. 19:49
728x90
function add(a, b) {
let result = '';
let aLen = a.length;
let bLen = b.length;
if (aLen < bLen) {
a = a.padStart(bLen, '0');
} else if (aLen > bLen) {
b = b.padStart(aLen, '0');
}
let moveNum = 0;
for (let i = aLen; i > 0; i--) {
let curNum = '';
let sum = Number(a.slice(i - 1, i)) + Number(b.slice(i - 1, i)) + moveNum;
if (sum >= 10) {
if (i !== 1) {
moveNum = 1;
curNum = sum.toString().slice(1);
} else {
curNum = sum.toString();
}
} else {
moveNum = 0;
curNum = sum.toString();
}
result = `${curNum}${result}`;
}
return result;
}
결과
> add('1000000000000000000000', '1000000000000000000000')
'2000000000000000000000'
728x90