문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
* *
** **
*** ***
**** ****
**********
**** ****
*** ***
** **
* *
뭔가 갑자기 확 어려워진 기분이다
생각을 해봤다
첫번째 별, 중간 공백, 두번째 별을 각각 다 따로 처리하기로했다
그리고 n번 넘게 반복을 하면 실행되는 반복문을 또 따로 만들자 라고 생각을 했다
const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString()
const n = Number(input)
let ans = ""
for(let i = 1; i<n*2; i++){
for(let k = 1; k<=i && i<=n; k++){
ans+="*"
}
for(let j = (n*2)-(i*2); j>0; j--){
ans+=" "
}
for(let k = 1; k<=i && i<=n; k++){
ans+="*"
}
for(let k = n-(i-n); i>n && k>0; k--){
ans+="*"
}
for(let j = (i-n)*2; j>0; j--){
ans+=" "
}
for(let k = n-(i-n); i>n && k>0; k--){
ans+="*"
}
ans+="\n"
}
console.log(ans)
초반에 위에있는 3개의 반복문이 1~n까지 반복문을 찍는것이고
그 다음은 그 뒤를 찍는 것이다
말로하는거 보다 코드를 보고 조금씩 바꾸면서 따라하면 바로 이해가 갈 것이다