0% found this document useful (0 votes)
8 views7 pages

? Level Up Your JavaScript Skills With Pattern Problems!

The document presents 20 classic coding patterns that developers should practice, particularly for interviews, with JavaScript solutions provided for each pattern. Patterns include shapes like squares, triangles, pyramids, and more complex structures like Pascal's triangle and spiral numbers. Each pattern is accompanied by a question, expected output, and the corresponding JavaScript code to generate the output.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views7 pages

? Level Up Your JavaScript Skills With Pattern Problems!

The document presents 20 classic coding patterns that developers should practice, particularly for interviews, with JavaScript solutions provided for each pattern. Patterns include shapes like squares, triangles, pyramids, and more complex structures like Pascal's triangle and spiral numbers. Each pattern is accompanied by a question, expected output, and the corresponding JavaScript code to generate the output.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

■ Top 20 Pattern Questions Every Developer Must

Practice
Patterns are not just about stars ■ – they train your brain to think in loops, conditions & logic.
Here are 20 classic coding patterns (with JavaScript answers) that often pop up in interviews.

1. Square Pattern
Question: Print a 5×5 square of stars.
Output:
*****
*****
*****
*****

JavaScript Answer:
let n = 5;
for (let i = 0; i < n; i++) {
[Link]("*".repeat(n));
}

2. Right Triangle
Question: Print a right triangle with 5 rows.
Output:
*
**
***
****
*****

JavaScript Answer:
let n = 5;
for (let i = 1; i <= n; i++) {
[Link]("*".repeat(i));
}

3. Inverted Right Triangle


Question: Print an inverted right triangle.
Output:
*****
****
***
**
*

JavaScript Answer:
let n = 5;
for (let i = n; i >= 1; i--) {
[Link]("*".repeat(i));
}
4. Pyramid Pattern
Question: Print a pyramid with stars.
Output:
*
***
*****
*******

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
let spaces = " ".repeat(n - i);
let stars = "*".repeat(2 * i - 1);
[Link](spaces + stars);
}

5. Inverted Pyramid
Question: Print an inverted pyramid.
Output:
*******
*****
***
*

JavaScript Answer:
let n = 4;
for (let i = n; i >= 1; i--) {
let spaces = " ".repeat(n - i);
let stars = "*".repeat(2 * i - 1);
[Link](spaces + stars);
}

6. Diamond Pattern
Question: Print a diamond shape.
Output:
*
***
*****
*******
*****
***
*

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i - 1));
}
for (let i = n - 1; i >= 1; i--) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i - 1));
}

7. Hourglass Pattern
Question: Print an hourglass shape.
Output:
*******
*****
***
*
***
*****
*******

JavaScript Answer:
let n = 4;
for (let i = n; i >= 1; i--) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i - 1));
}
for (let i = 2; i <= n; i++) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i - 1));
}

8. Hollow Square
Question: Print a hollow square.
Output:
*****
* *
* *
* *
*****

JavaScript Answer:
let n = 5;
for (let i = 0; i < n; i++) {
if (i === 0 || i === n - 1) {
[Link]("*".repeat(n));
} else {
[Link]("*" + " ".repeat(n - 2) + "*");
}
}

9. Hollow Pyramid
Question: Print a hollow pyramid.
Output:
*
* *
* *
*******

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
let spaces = " ".repeat(n - i);
if (i === 1) {
[Link](spaces + "*");
} else if (i === n) {
[Link]("*".repeat(2 * i - 1));
} else {
[Link](spaces + "*" + " ".repeat(2 * i - 3) + "*");
}
}

10. Butterfly Pattern


Question: Print a butterfly shape.
Output:
* *
** **
*** ***
*******
*** ***
** **
* *

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
[Link]("*".repeat(i) + " ".repeat(2 * (n - i)) + "*".repeat(i));
}
for (let i = n - 1; i >= 1; i--) {
[Link]("*".repeat(i) + " ".repeat(2 * (n - i)) + "*".repeat(i));
}

11. Half Pyramid with Numbers


Question: Print a half pyramid with numbers.
Output:
1
12
123
1234

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
let row = "";
for (let j = 1; j <= i; j++) {
row += j;
}
[Link](row);
}

12. Inverted Half Pyramid with Numbers


Question: Print an inverted half pyramid with numbers.
Output:
1234
123
12
1

JavaScript Answer:
let n = 4;
for (let i = n; i >= 1; i--) {
let row = "";
for (let j = 1; j <= i; j++) {
row += j;
}
[Link](row);
}

13. Floyd’s Triangle


Question: Print Floyd’s triangle.
Output:
1
2 3
4 5 6
7 8 9 10

JavaScript Answer:
let n = 4, num = 1;
for (let i = 1; i <= n; i++) {
let row = "";
for (let j = 1; j <= i; j++) {
row += num++ + " ";
}
[Link]([Link]());
}

14. Pascal’s Triangle


Question: Print Pascal’s triangle.
Output:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

JavaScript Answer:
let n = 5;
function fact(num) {
return num <= 1 ? 1 : num * fact(num - 1);
}
for (let i = 0; i < n; i++) {
let row = " ".repeat(n - i);
for (let j = 0; j <= i; j++) {
row += fact(i) / (fact(j) * fact(i - j)) + " ";
}
[Link](row);
}

15. Number Pyramid


Question: Print a number pyramid.
Output:
1
121
12321
1234321

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
let row = " ".repeat(n - i);
for (let j = 1; j <= i; j++) row += j;
for (let j = i - 1; j >= 1; j--) row += j;
[Link](row);
}

16. Binary Triangle


Question: Print a binary triangle.
Output:
1
01
101
0101

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
let row = "";
for (let j = 1; j <= i; j++) {
row += (i + j) % 2;
}
[Link](row);
}

17. Hollow Diamond


Question: Print a hollow diamond.
Output:
*
* *
* *
* *
* *
* *
*

JavaScript Answer:
let n = 4;
for (let i = 1; i <= n; i++) {
if (i === 1) [Link](" ".repeat(n - i) + "*");
else [Link](" ".repeat(n - i) + "*" + " ".repeat(2 * i - 3) + "*");
}
for (let i = n - 1; i >= 1; i--) {
if (i === 1) [Link](" ".repeat(n - i) + "*");
else [Link](" ".repeat(n - i) + "*" + " ".repeat(2 * i - 3) + "*");
}

18. Zig-Zag Pattern


Question: Print a zig-zag pattern.
Output:
* *
* * * *
* * *

JavaScript Answer:
let n = 3, m = 9;
for (let i = 0; i < n; i++) {
let row = "";
for (let j = 0; j < m; j++) {
if ((i + j) % 4 === 0 || (i === 1 && j % 2 === 0)) row += "*";
else row += " ";
}
[Link](row);
}

19. Sandglass Star


Question: Print a sandglass pattern.
Output:
******
****
**
**
****
******

JavaScript Answer:
let n = 3;
for (let i = n; i >= 1; i--) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i));
}
for (let i = 1; i <= n; i++) {
[Link](" ".repeat(n - i) + "*".repeat(2 * i));
}

20. Spiral Numbers


Question: Print spiral numbers (advanced).
Output:
Matrix spiral pattern

JavaScript Answer:
let n = 4;
let arr = [Link]({ length: n }, () => Array(n).fill(0));
let top = 0, left = 0, right = n - 1, bottom = n - 1, num = 1;
while (top <= bottom && left <= right) {
for (let i = left; i <= right; i++) arr[top][i] = num++;
top++;
for (let i = top; i <= bottom; i++) arr[i][right] = num++;
right--;
for (let i = right; i >= left; i--) arr[bottom][i] = num++;
bottom--;
for (let i = bottom; i >= top; i--) arr[i][left] = num++;
left++;
}
[Link](row => [Link]([Link](" ")));

You might also like