Programmers/Level 1

[Javascript] 프로그래머스 : 직사각형 별 찍기

emayom 2021. 6. 26. 12:12

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도 입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️

 

 

[Javascript] 프로그래머스 Level1 _ 직사각형 별 찍기

 

👇🏻문제링크

👇🏻

시행착오

( + 코드를 작성하면서든 생각들.)

1.

가장 쉬운 것 부터 해야겠다 싶어서  기초문제 !

초기에 Number() 함수로 a,b로 변환하는 것 까지 세팅이 되어있어서

처음은 별을 찍듯이 기본 반복문으로 출력했다. 

 

빈 문자열에 입력만큼 별을 더하고 찍고,

다음 줄로 넘어갈 땐 빈 문자열로 초기화해서 반복하며 한 줄씩 문자열로 찍어냈다. 

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

2.

이중 for문을 고치기 위해 .repeat()를 사용해서 수정했다.

빈 문자열 대신 콘솔에 바로 한 줄씩 찍어냈다.

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++){
        console.log("*".repeat(a));
    }
});

 

3.

마지막으로

 

아직은 어떤 것이 나은 방법인지 구분이 안되지만

간결하게 표현해보려고 시도한 방법!

반복문 대신 .repeat()을 두번 써서 출력해봤다.

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

    console.log(("*".repeat(a) + "\n").repeat(b));
});