문제

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

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

 

 

입력

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

 

 

출력

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

 

 

풀이

문제의 규칙을 잘 보면 별의 갯수는 1~n까지로 늘어나지만

공백과 별의 갯수의 합은 최종적으로 출력되는 별의 갯수와 같기 때문에

공백의 갯수는 N - 현재 별의 갯수라고 볼 수 있다.

 

같은 문자열의 반복은 repeat()을 사용해서 처리할 수 있기 때문에

백틱 또는 문자열의 합을 통해 해결할 수 있으며

하나의 방식을 일관되게 사용하는 편이 통일성이 있기 때문에 백틱을 사용했다.

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

 

+ Recent posts