겁나게 긴 숫자 덧셈기를 만드는 문제
최대한? 펑셔널하게 해보고 싶었는데 오히려 코드가 길어진듯...
function add(n1, n2) {
if (n1.length < n2.length) {
var t = n1;
n1 = n2;
n2 = t;
}
return [n1
.split('')
.reverse()
.map((a,i)=> (~~a + ~~n2[n2.length - i - 1]))
.reduce((a,b)=> {
b += a[1];
a[1] = 0;
if(b >= 10){
b %= 10;
a[1] = 1;
}
a[0] = b + a[0];
return a;
},['', 0])
.reverse()
.join('')]
.map(s=>s[0]=='0'?s.substr(1):s)[0];
}
function add (a, b) {
var res = '', c = 0
a = a.split('')
b = b.split('')
while (a.length || b.length || c) {
c += ~~a.pop() + ~~b.pop()
res = c % 10 + res
c = c > 9
}
return res
}
배열로 만들고 하나씩 팝(1의 자리부터 차례대로!!! 이렇게 하면 되는군)해서 덧셈을 하고 캐리를 저장하고 이러면 되네;; 너무 어렵게 생각한거 같음...