문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

 

 

입력

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

 

 

출력

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

 

 

풀이

별을 다이아몬드 모양으로 찍어야 하는 문제로 

input번째 줄 까지는 피라미드 형식으로 진행되고

그 이후로는 다시 역 피라미드 형식으로 별을 줄여나가는 모양이었다.

 

일단 입력을 지금 보니 공백을 input - i개로 진행한 다음 별의 갯수는 i*2-1로 했어도 될 것 같은데

당시 푼 문제에서는 '**'에 '*'을 추가한 모습이 재미있다.

 

이전 코드는 얼핏 보기에는 문제가 없었도 const 대신 let이 있는 부분만 수정했었는데

i*2 -1개로 수정하지 않은 부분은 아쉽지만 두 가지 방법을 보며

문제에 따라 저렇게 할 수는 있겠다는 여지를 남기기 위해 그대로 올렸다.

 

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-1)}*`)
}
for(let i = input-1 ; i > 0 ; i--){
    result.push(`${' '.repeat(input-i)}${'**'.repeat(i-1)}*`)
}
console.log(result.join('\n'))
const input = 10

const result = []
for(let i = 1 ; i <= input ; i++){
    result.push(`${' '.repeat(input-i)}${'**'.repeat(i-1)}*`)
}
for(let i = input-1 ; i > 0 ; i--){
    result.push(`${' '.repeat(input-i)}${'**'.repeat(i-1)}*`)
}
console.log(result.join('\n'))

'알고리즘 > 백준' 카테고리의 다른 글

[백준 JS] 2446번 별 찍기 - 9  (1) 2023.04.01
[백준 JS] 2445번 별 찍기 - 8  (0) 2023.04.01
[백준 JS] 2443번 별 찍기 - 6  (0) 2023.03.13
[백준 JS] 2442번 별 찍기 - 5  (0) 2023.03.13
[백준 JS] 2441번 별 찍기 - 4  (0) 2023.03.13

+ Recent posts