aboutsummaryrefslogtreecommitdiff
path: root/challenge-194/roger-bell-west/javascript/ch-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-194/roger-bell-west/javascript/ch-2.js')
-rwxr-xr-xchallenge-194/roger-bell-west/javascript/ch-2.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/challenge-194/roger-bell-west/javascript/ch-2.js b/challenge-194/roger-bell-west/javascript/ch-2.js
new file mode 100755
index 0000000000..29be8475e4
--- /dev/null
+++ b/challenge-194/roger-bell-west/javascript/ch-2.js
@@ -0,0 +1,41 @@
+#! /usr/bin/node
+
+"use strict"
+
+function frequencyequalizer(s) {
+ let f = new Map();
+ for (let c of s.split("")) {
+ if (f.has(c)) {
+ f.set(c, f.get(c) + 1);
+ } else {
+ f.set(c, 1);
+ }
+ }
+ let v = [...f.values()].sort();
+ if (v[0] == v[v.length-2] &&
+ v[0] + 1 == v[v.length-1]) {
+ return true;
+ }
+ return false;
+}
+
+if (frequencyequalizer("abbc")) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+
+if (frequencyequalizer("xyzyyxz")) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+
+if (!frequencyequalizer("xzxz")) {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");