https://www.acmicpc.net/problem/2439
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(file).toString();
let result = '';
for (let i = 0; i < input; i++) {
for (let j = i; j < input - 1; j++) {
result += ' ';
}
for (let k = 0; k <= i; k++) {
result += '*';
}
result += '\n';
}
console.log(result);
for (let j = i; j < input - 1; j++)
- 공백이 반복문을 돌릴 수록 개수가 줄어들어야 한다.
- i는 첫번째 반복문을 돌릴 수록 증가하고, input을 고정값으로 두면 그 사이의 반복문을 돌리는 횟수는 점차 줄어들게 된다.
input - 1
은 제출하는 값의 양식이 앞에 공백이 없어 공백을 줄이기 위해 추가하였다.
for (let k = 0; k <= i; k++)
- 별의 개수는 반복문을 돌릴 수록 증가해야 한다.
- 첫번째 반복문의 i값을 이용해 별의 개수를 i가 증가하면 그만큼의 별을 찍는 개수도 증가한다.