aboutsummaryrefslogtreecommitdiff
path: root/challenge-078/abigail/Part2/solution.js
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2020-09-15 14:30:58 +0200
committerAbigail <abigail@abigail.be>2020-09-15 14:30:58 +0200
commit1801e66819957b886808c2e98508ca190d2b2432 (patch)
tree289fec9bc5b408d23906ff94d9a59712b115cb1c /challenge-078/abigail/Part2/solution.js
parentffbd8368ce571dab7b941dd8aa8e50f2f5678b5b (diff)
downloadperlweeklychallenge-club-1801e66819957b886808c2e98508ca190d2b2432.tar.gz
perlweeklychallenge-club-1801e66819957b886808c2e98508ca190d2b2432.tar.bz2
perlweeklychallenge-club-1801e66819957b886808c2e98508ca190d2b2432.zip
JavaScript solutions.
Diffstat (limited to 'challenge-078/abigail/Part2/solution.js')
-rw-r--r--challenge-078/abigail/Part2/solution.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-078/abigail/Part2/solution.js b/challenge-078/abigail/Part2/solution.js
new file mode 100644
index 0000000000..6d76c9aa91
--- /dev/null
+++ b/challenge-078/abigail/Part2/solution.js
@@ -0,0 +1,33 @@
+//
+// Exercise:
+//
+// You are given array @A containing positive numbers and @B containing
+// one or more indices from the array @A.
+// Write a script to left rotate @A so that the number at the first index
+// of @B becomes the first element in the array. Similary, left rotate @A
+// again so that the number at the second index of @B becomes the first
+// element in the array.
+//
+// We will be reading the arrays from STDIN -- @A is one the first
+// line, @B is on the second line.
+//
+
+//
+// Read two lines from STDIN, turn it into a string, strip off the
+// trailing newline (and any leading or trailing whitespace),
+// and then split in on spaces. Store the result into an arrays A and B.
+//
+let fs = require ("fs");
+let lines = fs . readFileSync (0) . toString () . split ("\n");
+let A = lines [0] . trim () . split (" ");
+let B = lines [1] . trim () . split (" ");
+
+
+//
+// Iterate over the array B, and print the slices of A.
+//
+for (let i = 0; i < B . length; i ++) {
+ let index = +B [i];
+ console . log (A . slice ( index) . join (" ") + " " +
+ A . slice (0, index) . join (" "));
+}