[프로그래머스] javascript 풀이3

summer_joy·2023년 1월 18일
0

문제설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

제한 조건

  • n과 m은 각각 1000 이하인 자연수입니다.

예시

입력

5 3

출력

문제풀이


// 입력받은 숫자를 'data'에 받음
process.stdin.setEncoding("utf8");
process.stdin.on("data", (data) => {
  const n = data.split(" ");
  // data(입력받은 숫자)를 배열로 변경한다.
  const a = Number(n[0]),
    b = Number(n[1]);
  // a는 한줄에 별의 갯수, b는 몇줄을 출력할 것인지

  // 입력 값 b(3) 만큼 반복문을 돌린다.
  for (let i = 0; i < b; i++) {
    // stars 변수를 초기화 해준다.
    let stars = "";

    // 위 for문이 한번 돌아갈 때 마다 입력 값 a(5) 만큼 반복문을 돌린다.
    for (let j = 0; j < a; j++) {
      // stars = stars + "*"
      stars += "*";
    }

    // 콘솔창에 현재까지 저장된 stars 값을 찍는다. (*****)
    console.log(stars);

    // i가 b(3) 보다 작을 경우 맨 위로가 다시 for문을 실행한다.
  }
});

별찍기는 대표적인 프로그래밍 문제 중 하나로 변수, 제어문을 이해하는 데 좋은 문제이다
보편적으로는 중첩 for문을 이용해 풀 수 있고, 자바스크립트의 경우 repeat() 메서드-MDN을 통해서도 풀 수 있지만 가장 보편적인 방법으로 풀어보았다.

profile
💻 Hello world

0개의 댓글