aboutsummaryrefslogtreecommitdiff
path: root/challenge-282/roger-bell-west/javascript
diff options
context:
space:
mode:
authorRoger Bell_West <roger@firedrake.org>2024-08-13 09:44:24 +0100
committerRoger Bell_West <roger@firedrake.org>2024-08-13 09:44:24 +0100
commit32c6e8534e4d0460d1f477517d0147ed06eba861 (patch)
treee3994d16be009295cadb970f938996350296bb3f /challenge-282/roger-bell-west/javascript
parent6bc37eb88f4850e1f6fc02a038163fb382f296dc (diff)
downloadperlweeklychallenge-club-32c6e8534e4d0460d1f477517d0147ed06eba861.tar.gz
perlweeklychallenge-club-32c6e8534e4d0460d1f477517d0147ed06eba861.tar.bz2
perlweeklychallenge-club-32c6e8534e4d0460d1f477517d0147ed06eba861.zip
RogerBW solutions for challenge no. 282
Diffstat (limited to 'challenge-282/roger-bell-west/javascript')
-rwxr-xr-xchallenge-282/roger-bell-west/javascript/ch-1.js46
-rwxr-xr-xchallenge-282/roger-bell-west/javascript/ch-2.js36
2 files changed, 82 insertions, 0 deletions
diff --git a/challenge-282/roger-bell-west/javascript/ch-1.js b/challenge-282/roger-bell-west/javascript/ch-1.js
new file mode 100755
index 0000000000..4c36f7401a
--- /dev/null
+++ b/challenge-282/roger-bell-west/javascript/ch-1.js
@@ -0,0 +1,46 @@
+#! /usr/bin/node
+
+"use strict"
+
+// by VLAZ
+// https://stackoverflow.com/a/59322890
+function toWindows(inputArray, size) {
+ return Array.from(
+ {length: inputArray.length - (size - 1)}, //get the appropriate length
+ (_, index) => inputArray.slice(index, index+size) //create the windows
+ )
+}
+
+function goodinteger(a) {
+ const winsize = 3;
+ const d = a.toString().split("");
+ let ex = -1;
+ toWindows(d, winsize).forEach((cc, offset) => {
+ if (ex == -1 && cc[0] == cc[1] && cc[1] == cc[2]) {
+ if ((offset == 0 || d[offset- 1] != cc[0]) &&
+ (offset == d.size - winsize || d[offset + winsize] != cc[2])) {
+ ex = +cc.join("");
+ }
+ }
+ });
+ return ex;
+}
+
+if (goodinteger(12344456) == 444) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (goodinteger(1233334) == -1) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (goodinteger(10020003) == 0) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");
diff --git a/challenge-282/roger-bell-west/javascript/ch-2.js b/challenge-282/roger-bell-west/javascript/ch-2.js
new file mode 100755
index 0000000000..04423e8aa1
--- /dev/null
+++ b/challenge-282/roger-bell-west/javascript/ch-2.js
@@ -0,0 +1,36 @@
+#! /usr/bin/node
+
+"use strict"
+
+function changingkeys(a) {
+ let oc = 'x';
+ let out = 0;
+ a.toLowerCase().split("").forEach((c, i) => {
+ if (i == 0) {
+ oc = c;
+ } else if (c != oc) {
+ oc = c;
+ out ++;
+ }
+ });
+ return out;
+}
+
+if (changingkeys('pPeERrLl') == 3) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (changingkeys('rRr') == 0) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (changingkeys('GoO') == 1) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");