[Level1] 직사각형 별찍기
문제
문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
n과 m은 각각 1000 이하인 자연수입니다.
예시
입력5 3
출력
***** ***** *****
문제 풀이
처음에는 각종 언어를 처음 배우게 되면 마주하는 삼각형 모양으로 별 찍기 문제처럼 '문제에서 주어지는 n과 m값을 이용해서 각각 for 문을 돌려서 출력을 하면 되겠다' 라고 생각하고 코드를 작성했다.
for(let i=0; i<n; i++){
for(let j=0; j<m; j++){
console.log("*");
}
}
하지만 for문을 두번이나 돌리는건 비효율적이기도 하고 (애초에 console.log의 경우 자동으로 줄바꿈이 되기 때문에 원하는 결과처럼 출력되지도 않는 문제가..) JavaScript 에서 제공되는 reapeat 함수를 이용해서 직사각형에서 한줄을 만들어내고 m만큼 반복해서 출력하여 해결하였다.
정답 코드
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
let line = "";
line= "*".repeat(a);
for(let i=0; i<b; i++){
console.log(line);
}
});
Author And Source
이 문제에 관하여([Level1] 직사각형 별찍기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jminkyoung/Programmers-leve1.-직사각형-별찍기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)