코드노트

자바스크립트 배열 문제 풀이 - 나무 만들기 본문

Code note/자바스크립트 알고리즘 문제풀이

자바스크립트 배열 문제 풀이 - 나무 만들기

코드노트 2022. 8. 23. 18:27
  *
 ***
*****

ex ) 3이 주어졌을 때 *을 이용해서 트리를 만들어 주는 프로그램

 

for문 2개를 통해서 공백 및 * 개행문자를 순서대로 출력이 되도록 만들어주면 되는 문제다.

 

for (let i = 0; i < height; i++) {
  for (let j = 0; j < height - i - 1; j++) {
    str += " ";
  }
  for (let j = 0; j < i * 2 + 1; j++) {
    str += "*";
  }
  str += "\n";
}

처음에는 " ", 두번째는 "*", 그리고 \n 개행문자를 통해서 출력되게 할 수 있다.

- " " 공백을 주는 부분에서 height - i - 1 에서 3이 들어오면 0일 때는 2 1일때는 1 3일 때는 0으로

첫 번째 줄에는 2칸의 공백 그리고 두번째는 1칸에 공백이 주어진다

- "*" 별모양이 들어가는곳에서 i * 2 + 1 에서는 i = 0 이면 1개, i = 1 이면 3개, i = 2이면 5개 이런식으로 수열을 따라 *을 출력할 수 있다.

- 공백과 별모양의 개수별로 나오게 된 후 개행을 통해서 줄을 바꿔주면 끝!