aboutsummaryrefslogtreecommitdiff
path: root/challenge-130/abigail/node
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-09-15 00:17:58 +0200
committerAbigail <abigail@abigail.be>2021-09-15 00:17:58 +0200
commitfa7c33f7b20466dbb35212b79847f9d03bed0d43 (patch)
treeefe8cf0427019cda8ee4e021c5f0dfcb2a5105e4 /challenge-130/abigail/node
parentf20371e94fe411d75dbff4d4e2dbbc274f34f227 (diff)
downloadperlweeklychallenge-club-fa7c33f7b20466dbb35212b79847f9d03bed0d43.tar.gz
perlweeklychallenge-club-fa7c33f7b20466dbb35212b79847f9d03bed0d43.tar.bz2
perlweeklychallenge-club-fa7c33f7b20466dbb35212b79847f9d03bed0d43.zip
Lua and Node.js solutions for week 130, part 1
Diffstat (limited to 'challenge-130/abigail/node')
-rw-r--r--challenge-130/abigail/node/ch-1.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-130/abigail/node/ch-1.js b/challenge-130/abigail/node/ch-1.js
new file mode 100644
index 0000000000..4e9353f3af
--- /dev/null
+++ b/challenge-130/abigail/node/ch-1.js
@@ -0,0 +1,29 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-1.js < input-file
+//
+
+ require ('readline')
+. createInterface ({input: process . stdin})
+. on ('line', line => {
+ let numbers = {}
+ let input = [... line . matchAll (/[1-9][0-9]*/g)] . map (_ => + _ [0])
+ input . forEach (n => {
+ if (!numbers [n]) {
+ numbers [n] = 1
+ }
+ else {
+ numbers [n] ++
+ }
+ })
+ for (let n in numbers) {
+ if (numbers [n] % 2 == 1) {
+ console . log (n)
+ }
+ }
+})