diff --git a/easy-diagonal/index.js b/easy-diagonal/index.js new file mode 100644 index 0000000..f488a43 --- /dev/null +++ b/easy-diagonal/index.js @@ -0,0 +1,22 @@ +// https://www.codewars.com/kata/easy-diagonal/train/javascript + +function diagonal(n, p) { + let rows = (n, fn) => { + let l = [1]; + for (let i = 0; i <= n; ++i) { + fn(l); + let a = []; + for (let j = 0; j <= i+1; ++j) { + a[j] = (l[j-1] || 0) + (l[j] || 0); + } + l = a; + } + } + + let sum = 0; + rows(n, row => { + sum += row[p] || 0; + }); + + return sum; +} \ No newline at end of file