문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 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 |
