aboutsummaryrefslogtreecommitdiff
path: root/challenge-321/roger-bell-west/javascript/ch-2.js
diff options
context:
space:
mode:
authorRoger Bell_West <roger@firedrake.org>2025-05-13 14:06:50 +0100
committerRoger Bell_West <roger@firedrake.org>2025-05-13 14:06:50 +0100
commitaa6afc31ada526c649d8490e9bdcb416027686f2 (patch)
tree8a6a19b64ac7a3463e4e0b99d62cc2d7053b7b57 /challenge-321/roger-bell-west/javascript/ch-2.js
parent152c0ffaaa3df8dfa2a5dbff97971ec378999b0a (diff)
downloadperlweeklychallenge-club-aa6afc31ada526c649d8490e9bdcb416027686f2.tar.gz
perlweeklychallenge-club-aa6afc31ada526c649d8490e9bdcb416027686f2.tar.bz2
perlweeklychallenge-club-aa6afc31ada526c649d8490e9bdcb416027686f2.zip
RogerBW solutions for challenge no. 321
Diffstat (limited to 'challenge-321/roger-bell-west/javascript/ch-2.js')
-rwxr-xr-xchallenge-321/roger-bell-west/javascript/ch-2.js38
1 files changed, 38 insertions, 0 deletions
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");