Must do pattern questions : Part-1 [ Javascript]
Published: 2023-04-09 15:24:04

The main **motive** of **learning programming** is to gain the ability to instruct **computers to perform tasks** and solve problems.It can be anything building some software that sell something, creating games, personal portfolio's, blog website like DEV.to and lot's and lot's more.

But for reaching that far the **first step of each part is having ability of Logical and Analytical Reasoning.Pattern-based questions** develop the logical and analytical reasoning skills. They often involve identifying and analysing the  structure of a pattern, and then using that understanding to generate a solution. This helps in developing problem-solving skills, which are essential in DSA.

So **today** In this part I am sharing **11 patterns** that a beginner can start's  in JavaScript. After that in **second part** I will share some more complex pattern problems and solutions.

```
// Pattern  : 1
// *****
// *****
// *****
// *****
// *****

// This function will print the Pattern 1 that is described above
const printSquare = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= input; j++) {
      patternCapturer += "* ";
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printSquare(5);
```

```
// Pattern 2 :
// *
// **
// ***
// ****
// *****

// This function will print Pattern 2 as described above
const printRightAngledTriangle = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= i; j++) {
      patternCapturer += "* ";
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printRightAngledTriangle(5);
```

```
// Pattern: 3
// 1
// 12
// 123
// 1234
// 12345

// This function will print Pattern 2 as described above
const printRightAngledTriangleWithNums = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= i; j++) {
      patternCapturer += `${j} `;
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printRightAngledTriangleWithNums(5);
```

```
// Pattern: 4
// 1
// 22
// 333
// 4444
// 55555

// This function will print Pattern 2 as described above
const printRightAngledTriangleWithIdenticalNums = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= i; j++) {
      patternCapturer += `${i} `;
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printRightAngledTriangleWithIdenticalNums(5);

```

```
// Pattern : 5

// *****
// ****
// ***
// **
// *

// This function will print Pattern 5 as described above
const reversedRtAngledT = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = input; j >= i; j--) {
      patternCapturer += "* ";
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
reversedRtAngledT(5);

```

```
// Pattern : 6

// 12345
// 1234
// 123
// 12
// 1

// This function will print Pattern 6 as described above
const reversedRtAngledTWithNums = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = input; j >= i; j--) {
      patternCapturer += `${input - (j - 1)}`;
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
reversedRtAngledTWithNums(5);
```

```
// Pattern : 7
//    *
//   ***
//  *****

// This function will print Pattern 7 as described above
const pyramidPattern = (input) => {
  let patternCapturer = "";

  for (let i = 1; i <= input; i++) {
    // Printing Spaces
    for (let j = 1; j <= input - i; j++) {
      patternCapturer += " ";
    }

    //Printing Stars
    for (let k = 0; k < 2 * i - 1; k++) {
      patternCapturer += "*";
    }

    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};
// Providing Input value on the basis of this  Pattern Printed
pyramidPattern(5);
```

```
// Pattern :8
//   *****
//    ***
//     *

// This function will print Pattern 8 as described above
const reversePyramid = (input) => {
  let patternCapturer = "";

  for (let i = 0; i < input; i++) {
    // For printing spaces
    for (let j = 0; j < i; j++) {
      patternCapturer += " ";
    }

    // For printing stars
    for (let k = 0; k < 2 * (input - i) - 1; k++) {
      patternCapturer += "*";
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
reversePyramid(5);
```

```
// Pattern : 9
//    *
//   ***
//  *****
//  *****
//   ***
//    *

// This function will print Pattern 9 as described above
const printDiamond = (input) => {
  let patternCapturer = "";

  for (let i = 1; i <= input; i++) {
    // for spaces
    for (let j = 1; j <= input - i; j++) {
      patternCapturer += " ";
    }

    //for Stars
    for (let k = 0; k < 2 * i - 1; k++) {
      patternCapturer += "*";
    }
    patternCapturer += "\n";
  }
  for (let i = 0; i < input; i++) {
    // for spaces
    for (let j = 0; j < i; j++) {
      patternCapturer += " ";
    }
    // for stars
    for (let k = 0; k < 2 * (input - i) - 1; k++) {
      patternCapturer += "*";
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printDiamond(5);
```

```
// Pattern: 10
// 1
// 01
// 101
// 0101
// 10101

// This function will print Pattern 10 as described above
const printRightAngledTriangleWithBoolNums = (input) => {
  let patternCapturer = "";
  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= i; j++) {
      patternCapturer += `${(i + j) % 2 == 0 ? 1 : 0} `;
    }
    patternCapturer += "\n";
  }
  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
printRightAngledTriangleWithBoolNums(5);

```

```
// Pattern 11

// *
// * *
// * * *
// * * * *
// * * * * *
// * * * *
// * * *
// * *
// *

// This function will print Pattern 11 as described above
const rightArrowPattern = (input) => {
  let patternCapturer = "";

  for (let i = 1; i <= input; i++) {
    for (let j = 1; j <= i; j++) {
      patternCapturer += "* ";
    }
    patternCapturer += "\n";
  }

  for (let i = 1; i < input; i++) {
    for (let j = input - 1; j >= i; j--) {
      patternCapturer += "* ";
    }
    patternCapturer += "\n";
  }

  console.log(patternCapturer);
};

// Providing Input value on the basis of this  Pattern Printed
rightArrowPattern(5);

```

**GITHUB LINK :** https://github.com/Jagroop2000/DSA-One-Javascript/blob/master/patterns/patterns.js