꾸준하게
[JS코테] 직사각형 별찍기 본문
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12969
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[나의 풀이]
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
let row = '';
let result = '';
for(i=0;i<a;i++){
row += '*';
}
for(i=0;i<b;i++){
result += row + `\n`
}
console.log(result);
});
평소에 풀던 함수 방식과 달라서 당황했지만,
process.stdin.on();
이라는 문법을 알게 되었다.
저 문법 내에서는 console.log()로 찍힌 결과값이 출력된다.
그리고 \n이 자바스크립트에서 줄바꿈을 해준다.
[다른 풀이]
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)
}
});
내가 알고 싶었던 부분이 다른 풀이에 있었다.
바로 repeat().
repeat을 사용하여 '*'를 a번 반복해줌으로써 for문을 대체할 수 있다.
그리고 따로 \n을 사용하지 않고 console.log()를 반복해줄 수 있다.
728x90
반응형
'JS코딩테스트' 카테고리의 다른 글
[JS코테] 스택/큐 - 같은 숫자는 싫어 (0) | 2023.05.04 |
---|---|
[JS코테] 최대공약수와 최소공배수 (0) | 2023.05.03 |
[JS코테] 행렬의 덧셈 (0) | 2023.05.01 |
[JS코테] 문자열 다루기 기본 (0) | 2023.04.28 |
[JS코테] 위클리 챌린지 - 부족한 금액 계산하기 (0) | 2023.04.27 |