-
Notifications
You must be signed in to change notification settings - Fork 0
/
challenge18.js
64 lines (48 loc) · 2.04 KB
/
challenge18.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
Points: 25
OPS/S : 860
Cognitive complexity: 9
*/
function drawClock(time) {
const digitMap = {
'0': ["*** ", "* * ", "* * ", "* * ", "* * ", "* * ", "*** "],
'1': [" * ", " * ", " * ", " * ", " * ", " * ", " * "],
'2': ["*** ", " * ", " * ", "*** ", "* ", "* ", "*** "],
'3': ["*** ", " * ", " * ", "*** ", " * ", " * ", "*** "],
'4': ["* * ", "* * ", "* * ", "*** ", " * ", " * ", " * "],
'5': ["*** ", "* ", "* ", "*** ", " * ", " * ", "*** "],
'6': ["*** ", "* ", "* ", "*** ", "* * ", "* * ", "*** "],
'7': ["*** ", " * ", " * ", " * ", " * ", " * ", " * "],
'8': ["*** ", "* * ", "* * ", "*** ", "* * ", "* * ", "*** "],
'9': ["*** ", "* * ", "* * ", "*** ", " * ", " * ", "*** "]
};
const result = Array.from({length: 7},
() => Array(17).fill(" "));
const digits = [time[0], time[1], time[3], time[4]];
for (let i = 0; i < 7; i++) {
for (let j = 0; j < 4; j++) {
const digitLines = digitMap[digits[j]][i];
const offset = j < 2 ? j * 4 : j * 4 + 2;
for (let k = 0; k < 3; k++) {
result[i][k + offset] = digitLines[k];
}
}
if (i === 2 || i === 4) {
result[i][8] = "*";
}
}
result.forEach(row => console.log(row.toString()));
return result;
}
drawClock('01:30');
/*
[
['*', '*', '*', ' ', ' ', ' ', '*', ' ', ' ', ' ', '*', '*', '*', ' ', '*', '*', '*'],
['*', ' ', '*', ' ', ' ', ' ', '*', ' ', ' ', ' ', ' ', ' ', '*', ' ', '*', ' ', '*'],
['*', ' ', '*', ' ', ' ', ' ', '*', ' ', '*', ' ', ' ', ' ', '*', ' ', '*', ' ', '*'],
['*', ' ', '*', ' ', ' ', ' ', '*', ' ', ' ', ' ', '*', '*', '*', ' ', '*', ' ', '*'],
['*', ' ', '*', ' ', ' ', ' ', '*', ' ', '*', ' ', ' ', ' ', '*', ' ', '*', ' ', '*'],
['*', ' ', '*', ' ', ' ', ' ', '*', ' ', ' ', ' ', ' ', ' ', '*', ' ', '*', ' ', '*'],
['*', '*', '*', ' ', ' ', ' ', '*', ' ', ' ', ' ', '*', '*', '*', ' ', '*', '*', '*']
]
*/