📢 이 문제에는 표준 입력으로 두 개의 정수 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]);
let result = "";
for(let j = 0; j <b; j++ ){
for(let i = 0; i < a; i++){
result += "*"
}
result += '\n'
}
console.log(result)
});
📌 줄바꿈
📌 중첩 for문을 사용하면 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 result = "";
for(let i = 0; i< a; i++){
result += '*';
}
for(let j = 0; j<b; j++){
console.log(result)
}
});
📌 이렇게도 되긴하지만, console.log()로는 부족해 피드백을 더 받았다
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
let result = "";
let star = '';
for(let i = 0; i< a; i++){
result += '*';
}
for(let j = 0; j<b; j++){
star += result + '\n'
}
console.log(star)
});
📌 변수 개념이 조금 부족하다
📌 다음에는 시간 좀 더 빠르게 작업하기
📌 왜 변수를 두가지 설정해서 star에 result와 줄바꿈을 넣어줄 생각을 하지 못했을까?
let star = '';
let result = '';
for (let i = 0; i < a; i++) {
star += '*';
}
for (let i = 0; i < b; i++) {
result += (result.length > 0 ? '\n' + '') + star;
}
console.log(result);