🔥 문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
입력 5 3
출력
*****
*****
*****
문제를 보자마자 2중 for문을 활용한 구구단이 생각나서 활용했다.
🔥 내가 작성한 코드
process.stdin.setEncoding("utf8");
process.stdin.on("data", (data) => {
const n = data.split(" "); // 2중for문을 사용하기위해 배열로 만듬
const a = Number(n[0]), // a에는 data의 0번째 인덱스
b = Number(n[1]); // b에는 data의 1번째 인덱스
for (let i = 0; i < b; i++) { // 입력값 a=5, b=3인데 b줄만큼 출력해야하기 때문
let star = "";
for (let j = 0; j < a; j++) { // a개만큼 b줄이니깐 2중for문으로 a개만큼 찍기
star = star + "*"; // star라는 변수에 별개수 a개만큼b줄 찍어주기
}
console.log(star);
}
});
배열이 아닌 것에대한 반복을 해야할 때, split을 통해 배열로만들어서 for문을 사용하면 된다.
🔥 다른사람의 풀이
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)
}
});
2중for문을 사용하지 않고 repeat를 활용해도 풀 수 있었다.