
The Hollow Diamond
Your function should return a multiline string of unique lowercase letters in alphabetical order. The characters should be placed in a form of hollow rhombus (diamond), along its edges, starting from the top vertex.
For this purpose you are given three values (for their constraints see Preconditions):
- side - number of letters in each side of the rhombus;
- length - total number of letters you should use;
- cw - clockwise flag, which shows in what direction the letters must go (if true - letters should be placed in clockwise direction).
If it's not enough length to complete the form, complement it with "*". The rhombus should not have white spaces at the right. Here is an example with arguments and expected result:
Input: Three arguments: side as integer (number), length as integer (number) and clockwise flag as logic (boolean).
Output: Multiline string (string).
Examples:
assert.strictEqual(hollowDiamond(3, 8, true), " a\n h b\ng c\n f d\n e"); assert.strictEqual(hollowDiamond(3, 6, false), " a\n b *\nc *\n d f\n e"); assert.strictEqual( hollowDiamond(4, 10, false), " a\n b *\n c *\nd j\n e i\n f h\n g" ); assert.strictEqual( hollowDiamond(5, 16, true), " a\n p b\n o c\n n d\nm e\n l f\n k g\n j h\n i" );
Preconditions:
- 26 >= length >= 0;
- side > 1;
- (side-1)*4 >= length.