aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ferrone <zapwai@gmail.com>2024-02-15 15:36:01 -0500
committerDavid Ferrone <zapwai@gmail.com>2024-02-15 15:36:01 -0500
commit1c65f5db773151d45a3c4423cd771ce372c91fcc (patch)
tree2f814d9d25b098bc553870a58e799ec50e64058d
parentb4722f365b56ebb8a01ce4d4b136f16d26698cd6 (diff)
downloadperlweeklychallenge-club-1c65f5db773151d45a3c4423cd771ce372c91fcc.tar.gz
perlweeklychallenge-club-1c65f5db773151d45a3c4423cd771ce372c91fcc.tar.bz2
perlweeklychallenge-club-1c65f5db773151d45a3c4423cd771ce372c91fcc.zip
JS for week 256
-rw-r--r--challenge-256/zapwai/javascript/ch-1.js22
-rw-r--r--challenge-256/zapwai/javascript/ch-2.js31
2 files changed, 53 insertions, 0 deletions
diff --git a/challenge-256/zapwai/javascript/ch-1.js b/challenge-256/zapwai/javascript/ch-1.js
new file mode 100644
index 0000000000..5188bd90f8
--- /dev/null
+++ b/challenge-256/zapwai/javascript/ch-1.js
@@ -0,0 +1,22 @@
+function main() {
+ let words = ["ab", "de", "ed", "bc"];
+ proc(words);
+ words = ["aa", "ba", "cd", "ed"];
+ proc(words);
+ words = ["uv", "qp", "st", "vu", "mn", "pq"];
+ proc(words);
+}
+
+function proc(words) {
+ let cnt = 0;
+ for (let i = 0; i < words.length - 1; i++) {
+ let rev = words[i].split("").reverse().join("");
+ for (let j = i + 1; j < words.length; j++) {
+ if (words[j] == rev) { cnt++; }
+ }
+ }
+ console.log("Input: ", words);
+ console.log("Output: ", cnt);
+}
+
+main();
diff --git a/challenge-256/zapwai/javascript/ch-2.js b/challenge-256/zapwai/javascript/ch-2.js
new file mode 100644
index 0000000000..5f4a336953
--- /dev/null
+++ b/challenge-256/zapwai/javascript/ch-2.js
@@ -0,0 +1,31 @@
+function main() {
+ str1 = "abcd", str2 = "1234";
+ proc(str1, str2);
+
+ str1 = "abcde", str2 = "123";
+ proc(str1, str2);
+
+ str1 = "abc", str2 = "12345";
+ proc(str1, str2);
+}
+
+function proc(s1, s2) {
+ let m1 = s1.split(""), m2 = s2.split("");
+ let n1 = s1.length, n2 = s2.length;
+ let ans = "";
+ let k = Math.min(n1, n2);
+ for (let i = 0; i < k; i++) {
+ ans += m1[i]+m2[i];
+ }
+ for (let i = k; i < Math.max(n1, n2); i++) {
+ if (n1 < n2) {
+ ans += m2[i];
+ } else {
+ ans += m1[i];
+ }
+ }
+ console.log(`Input: str1 = ${s1}, str2 = ${s2}`);
+ console.log("Output:", ans);
+}
+
+main();