{"ScriptPreparationCode":null,"TestCases":[{"Name":"kata solution 1","Code":"function add (a, b) {\r\n var res = \u0027\u0027, c = 0\r\n a = a.split(\u0027\u0027)\r\n b = b.split(\u0027\u0027)\r\n while (a.length || b.length || c) {\r\n c \u002B= ~~a.pop() \u002B ~~b.pop()\r\n res = c % 10 \u002B res\r\n c = c \u003E 9\r\n }\r\n return res\r\n}\r\n\r\nadd(\u002763829983432984289347293874\u0027, \u002790938498237058927340892374089\u0027)","IsDeferred":false},{"Name":"my solution","Code":"function add(a, b) {\r\n let result = \u0027\u0027;\r\n let remain = 0;\r\n if (b.length \u003E a.length) {\r\n [a, b] = [b, a];\r\n }\r\n b = [...b];\r\n for (let i = a.length - 1; i \u003E= 0; --i) {\r\n const n1 = Number(a[i]);\r\n const n2 = Number(b.pop() ?? 0);\r\n let sum = n1 \u002B n2 \u002B remain;\r\n if (sum \u003E 9) {\r\n let temp = sum;\r\n sum %= 10;\r\n remain = (temp - sum) / 10;\r\n } else {\r\n remain = 0;\r\n }\r\n result = sum \u002B result;\r\n }\r\n if (remain) {\r\n result = remain \u002B result;\r\n }\r\n return result;\r\n}\r\n\r\nadd(\u002763829983432984289347293874\u0027, \u002790938498237058927340892374089\u0027)","IsDeferred":false}]}