Study/JavaScript

printTriangle만들기

더 멋진 세상을 꿈꾸는 개발자 2020. 5. 18. 15:44
for (처음(1); 조건(2); 끝(4)){
	실행(3)
}

2,3,4는 조건이 true면 계속 반복
for(let star = 1; star <= 5; star++){
	console.log('*')
}

/* 결과
*
*
*
*
*
for (let star = 1; star <= 5; star++){
	console.log('*'.repeat(star))
}

/* 결과 
*
**
***
****
*****
*/
for (let star = 5; star >= 1; star--) {
	console.log('*'.repeat(star))
}

/* 결과
*****
****
***
**
*
*/
*
for (let star = 10; star >= 2 ; star -= 2){
  console.log('*'.repeat(star))
}

/* 결과 
**********
********
******
****
**
*/

위와 같은 함수를 "등차수열"이라고 한다. 

등차수열 = -2, 몇개씩 감소될때

등비수열 = 2배씩 차이날 때

 

for (let star = 10; star >= 2 ; star *= 2){
  console.log('*'.repeat(star))
}

위 함수가 등비수열이다. (결과값이 2배씩 차이남)

 

for (let star = 5; star >= 1 ; star -= 1){
  console.log(' '.repeat(5 - star)+ '*'.repeat(star))
}

//
*****
 ****
  ***
   **
    *
for (let star = 9; star >= 1 ; star -= 2){
  console.log(' '.repeat((9 - star)/2)+ '*'.repeat(star))
}

//
*********
 *******
  *****
   ***
    *

 

그러나 보통 컴퓨터는 숫자를 0부터 세기 때문에, 

for 문에도 star = 0; 부터 시작하는게 좋다.

그러면 첫째줄에 결과값이 없는 빈줄이 나오기 때문에 아래와 같이 코드를 작성해주어야 한다.

 

for (let star = 0; star < 5; star +=1) {
	console.log('*'.repeat(star))
}

//
*
**
***
****
*****