-
Notifications
You must be signed in to change notification settings - Fork 0
/
solution01.js
39 lines (30 loc) · 741 Bytes
/
solution01.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
function drawGift(size, symbol) {
let bgSize = size - 2;
bgSize += +!(bgSize + 1);
let response = '';
let topCenter = '';
let bottomCenter = '';
for (const a of [...Array.from({ length: bgSize }).keys()]) {
const c = '#' + symbol.repeat(bgSize) + '#' + symbol.repeat(a) + '#';
bottomCenter = c + '\n' + bottomCenter;
topCenter += ' '.repeat(bgSize - a) + c + '\n';
}
response =
' '.repeat(size - 1) +
'#'.repeat(size) +
'\n' +
(
topCenter +
'#'.repeat(size) +
symbol.repeat(bgSize) +
'#' +
'\n' +
bottomCenter +
'#'.repeat(size) +
'\n'
).repeat(+!!(size - 1));
return response;
}
drawGift(4, '+');
drawGift(5, '*');
drawGift(1, '^');