첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
사실 별을 찍는 것 자체는 어렵지 않다. 별들을 오른쪽 정렬을 해줘야 하는데 이 부분을 어떻게 코드를 짤 것인지가 중요하다.
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ').map(val=>+val)
let [n] = input;
let star = ""
let blank = ""
for(let i=1; i<=n; i++){
star = star + "*";
for(let j=1; j<=n-i; j++){
blank = blank + " "
}
console.log(blank+star);
blank = "" //(1)
}
(1) 부분을 추가해주느냐 하지않느냐에 따라서 결과가 매우 달라진다. blank를 초기화하지 않으면i=0
일 때, 공백은 4칸이 된다. 그 이후 i=1
일 때, 공백은 3칸이 아니라 그 전의 4칸과 더해져 총 7칸이 된다. blank를 초기화해줘야 원하던 대로 i=1
일 때 공백이 3칸이 된다.