ALGORITHM/PROGRAMMERS

[프로그래머스] 직사각형 별찍기 | javascript

heeney 2021. 7. 26. 21:32
728x90

[프로그래머스] 직사각형 별찍기 | javascript level 1

문제 설명

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

제한 조건

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

예시

입력
5 3

출력
*****
*****
*****


작성한 코드

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    
    //작성한 코드
    for(let i=0; i<b; i++) {
        let tmp = '';
        for(let j=0; j<a; j++) {
            tmp += '*';
        }
        console.log(tmp);
    }
});

이중for문을 돌면 별찍기를 할 수 있습니다.
tmp 변수를 만들때 ''(빈 문자열)를 입력해 주어야 합니다. 안그러면 첫 문자가 undefined와 함께 출력돼요. 왜냐하면 그냥 tmp는 아무것도 지정해두지 않은거라 그렇습니다. tmp를 한줄씩 console.log()로 출력해내면 정답이 됩니다.

좋은 코드

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    
    // 작성된 코드
    const row = '*'.repeat(a)
    for(let i =0; i < b; i++){
        console.log(row)
    }

});

진짜 좋은코드네요. 배워갑니다..

728x90