스파르타코딩클럽에서 '혼자공부하는 자바스크립트' 책을 보내주었다.
여기서 재미있는 문제가 나왔었는데
*
**
***
****
*****
이런식으로 나무 비슷한걸 만드는 문제였다. 밑에 내가 생각한 해설을 정리 해보자.
tree = ''
//-----------------------------
여기에 코드 작성
//-----------------------------
console.log(tree)
해당 문제를 풀기 전 준비 코드 이다.
빈 문자열 변수를 할당하고, console.log 한번으로 나무를 만들거다.
그러기 위해선 \n 로 줄바꿈을 할 수 있다는걸 알아야 했다.
let tree = ''
//-----------------------------
for(let i = 0; i < 5; i++){
tree = '\n'
}
//-----------------------------
console.log(tree)
이러면 i의 수(i < 5)만큼 줄바꿈이 생성된다.
이제 한 줄에 1개 씩 늘어나는 별을 만들어주면 된다.
let tree = ''
for(let i = 0; i < 5; i++){
for(let j = 0; j < 5; j++){
j = '*'
}
tree = '\n'
}
console.log(tree)
// 결과값
*
*
*
*
*
중첩 반복문의 실행 순서
안에 있는 반복문이 모두 반복 된 후,
밖에 있는 반복문이 한번 실행,
다시 안에 있는 반복문이 모두 반복 된 후,
밖에 있는 반복문이 한번 실행 된다는걸 기억해야한다.
let tree = ''
for(let i = 0; i < 5; i++){
for(let j = 0; j < i; j++){
j = '*'
}
tree = '\n'
}
console.log(tree)
// 결과값
*
**
***
****
*****
안에 중첩반복문 중 ' j < i ' 부분만 바꿔주었다.
* | /n | |||
---|---|---|---|---|
* | * | /n | ||
* | * | * | /n | |
* | * | * | * | /n |
한 줄이 실행되고 줄넘김을 받고, 다시 밖에 코드가 실행되기 전 안에 반복문부터 모두 해결한 후 밖에 코드가 실행된다.