aboutsummaryrefslogtreecommitdiff
path: root/challenge-321/roger-bell-west/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-321/roger-bell-west/javascript')
-rwxr-xr-xchallenge-321/roger-bell-west/javascript/ch-1.js36
-rwxr-xr-xchallenge-321/roger-bell-west/javascript/ch-2.js38
2 files changed, 74 insertions, 0 deletions
diff --git a/challenge-321/roger-bell-west/javascript/ch-1.js b/challenge-321/roger-bell-west/javascript/ch-1.js
new file mode 100755
index 0000000000..d6f078281e
--- /dev/null
+++ b/challenge-321/roger-bell-west/javascript/ch-1.js
@@ -0,0 +1,36 @@
+#! /usr/bin/node
+
+"use strict"
+
+function distinctaverage(a0) {
+ let a = [...a0];
+ a.sort(function(a,b) {
+ return a-b;
+ });
+ const offset = a.length - 1;
+ const limit = Math.floor(a.length / 2);
+ let res = new Set;
+ for (let i = 0; i < limit; i++) {
+ res.add(a[i] + a[offset - i]);
+ }
+ return res.size;
+}
+
+if (distinctaverage([1, 2, 4, 3, 5, 6]) == 1) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (distinctaverage([0, 2, 4, 8, 3, 5]) == 2) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (distinctaverage([7, 3, 1, 0, 5, 9]) == 2) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");
diff --git a/challenge-321/roger-bell-west/javascript/ch-2.js b/challenge-321/roger-bell-west/javascript/ch-2.js
new file mode 100755
index 0000000000..1a58b683d0
--- /dev/null
+++ b/challenge-321/roger-bell-west/javascript/ch-2.js
@@ -0,0 +1,38 @@
+#! /usr/bin/node
+
+"use strict"
+
+function backspacecompare(a, b) {
+ let sa = [];
+ for (let i of [a, b]) {
+ let oa = [];
+ i.split("").forEach((c, _) => {
+ if (c == '#') {
+ oa.pop();
+ } else {
+ oa.push(c);
+ }
+ });
+ sa.push(oa.join(''));
+ }
+ return sa[0] == sa[1];
+}
+
+if (backspacecompare('ab#c', 'ad#c')) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (backspacecompare('ab##', 'a#b#')) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (!backspacecompare('a#b', 'c')) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");