알고리즘/백준

[백준 JS] 2442번 별 찍기 - 5

Happy Programmer 2023. 3. 13. 18:20

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.

 

 

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

 

 

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

 

 

풀이

트리 형태를 만들어야 하는 문제로

별의 갯수는 1개부터 (input * 2) - 1 만큼의 갯수까지 2개씩 늘어나는 규칙이 있고

공백의 갯수는 input - 1부터 0개까지 진행되기 때문에

for문에서 i의 시작은 1, 조건은 input보다 작거나 같다로 진행했다.

const input = Number(require('fs').readFileSync('/dev/stdin').toString().trim())
const result = []
for(let i = 1 ; i <= input ; i++){
    result.push(`${' '.repeat(input-i)}${'*'.repeat(i*2 -1)}`)
}
console.log(result.join('\n'))
const input = Number('5')
const result = []
for(let i = 1 ; i <= input ; i++){
    result.push(`${' '.repeat(input-i)}${'*'.repeat(i*2 -1)}`)
}
console.log(result.join('\n'))