function solve(arr){ let size = Number(arr[0]); // top half full cup - N/2 rows // top half partial cup - N/2 + 1 rows // top of body transition line - 1 row // top of body N / 2 rows // logo // bottom of body N / 2 + 1 rows for (let i = 0; i < size + 1; i++) { let sideSize = size + i; let midSize = size * 3 - (i *2); let row = `${'.'.repeat(sideSize)}${'#'.repeat(midSize)}${'.'.repeat(sideSize)}`; if(i >= size / 2) { midSize = midSize - 2; row = `${'.'.repeat(sideSize)}#${'.'.repeat(midSize)}#${'.'.repeat(sideSize)}`; } console.log(row); } console.log(`${'.'.repeat(size * 2)}${'#'.repeat(size)}${'.'.repeat(size * 2)}`); for (let i = 0; i < size / 2; i++) { let midSize = size + 4; let sideSize = (size * 2 - 2); let row = `${'.'.repeat(sideSize)}${'#'.repeat(midSize)}${'.'.repeat(sideSize)}`; console.log(row); } let dance = 'D^A^N^C^E^'; let sideSize = (size * 5 - dance.length) / 2 console.log(`${'.'.repeat(sideSize)}${dance}${'.'.repeat(sideSize)}`); for (let i = 0; i < (size / 2) + 1; i++) { let midSize = size + 4; let sideSize = (size * 2 - 2); let row = `${'.'.repeat(sideSize)}${'#'.repeat(midSize)}${'.'.repeat(sideSize)}`; console.log(row); } }