-
Notifications
You must be signed in to change notification settings - Fork 44
/
Automaton (Part 1).js
31 lines (24 loc) · 795 Bytes
/
Automaton (Part 1).js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
Description:
Preamble:
You were cleaning your virtual pantry and accidentally found a folder with a label on it: "Automaton v1.9".
Part 1:
You tried to launch Automaton but it didn't work. As an experienced engineer you noticed some "rust" and "dust" so you decided to clean it.
Your task is to "polish" and "clean" automaton so it starts working again.
Other episodes from series:
Automaton (Part 2)
Automaton (Part 3)
*/
function automaton(e) {
if (typeof e === "string") {
return e.replace(/[^aeiyuo]/g, "").length;
} else if (typeof e === "number") {
if (Math.round(e) != e + 1) return false;
for (var i = 2; i < e; i++) if (e % i < 1) return false;
return true;
} else if (typeof e === "object") {
var a = {};
for (var k in e) a[e[k]] = e[k] + "";
return a;
}
}