aboutsummaryrefslogtreecommitdiff
path: root/challenge-321/roger-bell-west/javascript/ch-2.js
diff options
context:
space:
mode:
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");