빈 공백을 어떻게 채울까 로직 생각하는데 좀 해멨다..
공백 또한 별처럼 반복문을 이용해 찍어주면 된다.
제일 바깥 반복문은 전체 줄의 수, 그리고 내부반복문은 '공백 추가 반복문' + '* 추가 반복문' 으로 구현했다. 바깥 인덱스가 0일때 1일때 2일때로 구분해서 노가다로 짠 것 같다.
1년뒤 다시 이 문제를 풀때 한줄로 구현할 수 있는사람이되자.
const fs = require("fs"); //파일받기위해 필요
const localFile = fs.existsSync("./input.txt"); // 내가 알고리즘 풀려는 폴더에 './input.txt'의 유무를 참,거짓으로 변수에 넣어라
const filePath = () => {
// 참이면 내 input파일을 열고 그외는 백준의 알고리즘에서 주는 입력값을 받겠다.
if (localFile) {
return "./input.txt";
}
return "/dev/stdin";
};
let input = fs.readFileSync(filePath()).toString().split(' ');
let num = Number(input);
let string = '';
// ' *' 스페이스 4번 문자열 + '*' i 0 j 4 k 1
// ' **' 스페이스 3번 문자열 + '**' i 1 j 3 k 2
// ' ***' 스페이스 2번 문자열 + '***' i 2 j 2 k 3
// ' ****' 스페이스 1번 문자열 + '****' i 3 j 1 k 4
// '*****' + '*****' i 4 j 0 k 5
for(let i = 0; i < num; i ++){
for(let j = num-1-i; j > 0; j--){
string = string + ' '
}
for(let k = 1; k <= i+1; k++ ){
string = string + '*'
}
string = string + '\n';
}
console.log(string);