공부/알고리즘

[ JS 코딩테스트 ] 직사각형 별 찍기

신입개발자 2021. 6. 16. 23:48

문제 설명

이 문제에는 표준 입력으로 두 개의 정수 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]);
    console.log(a);
    console.log(b);
});

글쓴이 풀이

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    let q = '';
    for(let v = 0; v < b; v++){
        for(let z = 0; z <= a; z++){
            q.length < a ? q+='*' : false     
        }
      console.log(q);
    }
});

다른 유저의 풀이

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)
    }

});

문제 풀이

q라는 빈 문자열을 만들고 1차 반복문을 만들어 별표 사각형의 세로(b) 길이만큼 반복하고 그 안에 가로(a) 길이만큼 " * " 문자를 q에 넣어주는 반복문을 만들어 줍니다

느낀 점

1차 반복문 까지 는 똑같았지만 repeat 함수에서 활용성의 차이가 있었고 신갈이 될 때 함수들을 한번 둘러봐야겠습니다