직사각형 별찍기
코드
process.stdin.setEncoding("utf8");
process.stdin.on("data", (data) => {
const n = data.split(" ");
const a = Number(n[0]),
b = Number(n[1]);
answer = "";
for (let i = 0; i < b; i++) {
for (let j = 0; j < a; j++) answer += "*";
answer += "\n";
}
console.log(answer);
});
풀이
두 수를 입력받아 이중 for문을 이용해 별 직사각형을 만드는 코드이다.
process.stdin.setEncoding("utf8");
입력 데이터를 문자열로 처리하기 위해 쓰는 입력 인코딩 설정
process.stdin.on("data", (data) => {
데이터가 입력될 때마다 실행되는 이벤트 리스너이다.
데이터가 data 매개변수로 전달된다.
const n = data.split(" ");
const a = Number(n[0]),
b = Number(n[1]);
data.split을 이용해 배열 n을 만든다. (공백으로)
n[0]은 가로 별의 개수 a
n[1]는 세로 별의 개수 b를 나타낸다.
Number() 함수를 이용해 숫자로 바꾸어준다.
answer = "";
answer 변수를 빈 문자열로 저장한다.
최종적 으로 출력할 문자열을 저장할때 쓸것이다.
for (let i = 0; i < b; i++) {
for (let j = 0; j < a; j++) answer += "*";
answer += "\n";
}
첫번째 for문은 b만큼 반복하고 두번째 for문은 a만큼 반복하고 문자열 *를 추가한다.
두번째 for문 까지 돌면 answer에 \n (줄바꿈)을 추가하여 다음 줄로 이동하게 한다.
console.log(answer);
이중 for문의 루프가 최종적으로 다 돌고 결과를 출력하는 코드다.
b는 줄의 별수를 나타내고 a는 열의 별수을 나타내는 변수다.
이중 for문과 줄바꿈을 이용해 별로 직사각형 코드를 완성했다.
'TIL' 카테고리의 다른 글
TIL 20241019 (삼총사 - 알고리즘) (0) | 2024.10.19 |
---|---|
TIL 20241015 (객체 지향 프로그래밍) (0) | 2024.10.15 |
TIL 20241007 (제일 작은 수 제거하기 - 알고리즘) (0) | 2024.10.07 |
TIL 241002 ( 약수의 갯수와 덧셈[알고리즘] ) (0) | 2024.10.02 |
TIL 240926 (JWT) (0) | 2024.09.26 |