[프로그래머스] 직각삼각형 출력


문제 설명

”*“의 높이와 너비를 1이라고 했을 때, ““을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.


제한사항

  • 1 ≤ n ≤ 10

입출력 예

입력 #1

3

출력 #1

*

** ***


입출력 예 설명

입출력 예 #1

  • n이 3이므로 첫째 줄에 _ 1개, 둘째 줄에 _ 2개, 셋째 줄에 * 3개를 출력합니다.

나의 풀이

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on("line", function (line) {
  input = line.split(" ");
}).on("close", function () {
  let answer = "";
  let number = Number(input);
  for (let i = 0; i < number; i++) {
    for (let j = 0; j <= i; j++) {
      answer += "*";
    }
    answer += "\n";
  }
  console.log(answer);
});

나의 두번째 풀이(Code Refactoring)

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on("line", function (line) {
  input = line.split(" ");
}).on("close", function () {
  let answer = "";
  let number = Number(input);
  for (let i = 1; i <= number; i++) {
    console.log("*".repeat(i));
  }
  console.log(answer);
});

// repeat으로 출력

참고 할 만한 다른 사람의 코드

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on("line", function (line) {
  input = line.split(" ");
}).on("close", function () {
  const text = Array(+input[0])
    .fill(0)
    .map((v, i) =>
      Array(i + 1)
        .fill("*")
        .join("")
    )
    .join("\n");

  console.log(text);
});
//Array.fill로 출력