[프로그래머스] 직사각형 별찍기 in JavaScript

hyocho·2022년 6월 7일
0

코딩테스트

목록 보기
1/45

✅문제

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

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

💡주어진 솔루션

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);

    var answer = '*'.repeat(a)+' \n';
    console.log(answer.repeat(b));
});

✍문제풀이

process.stdin.setEncoding('utf8');
//data입력 값을 받아오는 함수
process.stdin.on('data', data => { 
  //입력받은 숫자를 'data'에 받는다.
  
    const n = data.split(" ");
  //변하지 않는 값(상수) n은 표준 입력되는 데이터를 split함수를 사용하여 " " 기준으로 나눈다. -> 배열로 변경됨.
    const a = Number(n[0]), b = Number(n[1]);
  //변하지 않는 값 a = n의 0번째 인덱스(가로), b는 1번째 인덱스(세로)로 string 자료형을 number형으로 형 변환 해준다.
  
    var answer = '*'.repeat(a)+' \n';
  //answer이라는 변수는, '*'을 a만큼 곱한 후 개행
    console.log(answer.repeat(b));
  //그리고 answer에 b만큼을 곱한 것을 console.log를 통해 출력한다.
});

📝TIL

  • .repeat 문자열을 주어진 횟수만큼 반복해 새로운 문자열을 반환하는 메서드
  • .split
  • js 표준 입력
process.stdin.setEncoding("utf8");
process.stdin.on("data", data => {
	// ...
});



문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12969

profile
기록하는 습관을 기르고 있습니다.

0개의 댓글