728x90
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
*
**
***
****
*****
CODE
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on('line', function (line) {
const num = +line;
// 1번 ==============================================================
// star = [' ',' ',' ',' ',' ']
let star = new Array(num).fill(' ');
for (let i = num - 1; i >= 0; i--) {
star[i] = '*';
console.log(star.join(''));
}
// =================================================================
// 2번 ==============================================================
let star = '';
let blank = '';
// i -> 1,2,3,4,5
for (let i = 1; i <= num; i++) {
star += '*';
// num - i -> 4,3,2,1,0
for (let j = 0; j < num - i; j++) {
blank += ' ';
}
console.log(blank + star);
blank = '';
}
// =================================================================
rl.close();
}).on('close', function () {
process.exit();
});
Comment
1번은 빈 Array를 만들어서 fill()함수를 통해 공백을(' ') 추가하여 뒤에서부터 별을 하나씩 추가해가며 찍어주는 방법이고
2번은 2중 For문을 이용하여 문자열에 넣어준 다음에 출력하는 방법이다.
아래는 Array.fill() 참고
References
'ALGORITHM > 백준 With Node.js' 카테고리의 다른 글
[백준] 10952번 / A+B - 5 / Node.js (0) | 2021.04.22 |
---|---|
[백준] 10871번 / X보다 작은 수 / Node.js (0) | 2021.04.21 |
[백준] 2438번 / 별 찍기 - 1 / Node.js (0) | 2021.04.21 |
[백준] 11022번 / A+B - 8 / Node.js (0) | 2021.04.21 |
[백준] 11021번 / A+B - 7 / Node.js (0) | 2021.04.21 |
댓글