본문 바로가기
코딩테스트

(javascript)직사각형 별찍기

by 어뇨 2024. 1. 22.
  • 문제 설명
    이 문제에는 표준 입력으로 두 개의 정수 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]);
    const row = '*'.repeat(a)
    for(let i =0; i < b; i++){
        console.log(row)
    }

});

 

처음에 문제풀려고 보니

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

기존의 문제들과는 다르게 초기코드가 다른형태여서 당황했다.

근데 보면 간단한게, 결국 *을 몇번 찍게끔만 하면된다.

그리고 처음 찍혀있던 console.log 를 출력해보니

5

3

이런식으로 const n = data.split("")으로 가로 세로의 구분이 지어져있는걸 알수있었다.

그러면 한줄에 *가 몇개고, 세로가 몇줄인지만 구하면 되기떄문에

repeat()과 for문을 써서 b만큼 *를 찍으면 됐다.