Minwook’s portfolio

중첩 반복문으로 피라미드 만들기 본문

Today I Learned/JavaScript

중첩 반복문으로 피라미드 만들기

yiminwook 2022. 9. 3. 18:37

 

 

1. 반복문 없이 피라미드의 반쪽을 만드려면?

let output1 =''
output1 += '*\n'
output1 += '**\n'
output1 += '***\n'
output1 += '****\n'
output1 += '*****\n'
output1 += '******\n'
output1 += '*******\n'
output1 += '********\n'
output1 += '*********\n'
output1 += '**********\n'

console.log(output1);
*
**
***
****
*****
******
*******
********
*********
**********

 

 


 

2. 중첩반복문을 사용하여 1.의 코드를 재현

let output2 = '' //초기값

for(let i = 0; i < 11; i += 1){
  for(let j = 0; j < i+1; j++) { //반복문은 중첩가능, 횟수에는 표현식이 올 수 있음
    output2 += '*'
  }
  output2 += '\n'
}

console.log(output2);
*
**
***
****
*****
******
*******
********
*********
**********
***********

 

 


 

 

3. 모든 행의 *이 홀수(개)인 반쪽 피라미드를 만드려면?

let output3 = '' 

for(let i = 0; i < 11; i += 2){ 
  for(let j = 0; j < i+1; j++) { 
    output3 += '*'
  }
  output3 += '\n'
}

console.log(output3);
*
***
*****
*******
*********
***********

 

 


 

 

4. 3.의 피라미드의 행을 늘려서 10개로 한다

let output4 = ''

for(let i = 0; i < 9; i++){
  for(let j = 0; j < (i * 2 + 1); j++) { 
    output4 += '*'
  }
  output4 += '\n'
} 

console.log(output4);
*
***
*****
*******
*********
***********
*************
***************
*****************

 


 

 

5. 각 행 앞에 공백이 들어가는 피라미드

let output5 = ''

for(let i = 0; i < 9; i++){
  for(let k = 0; k < i + 1; k++) {
    output5 += ' '}
  for(let j = 0; j < (i * 2 + 1); j++) { 
    output5 += '*'
  }
  output5 += '\n'
}

console.log(output5);
 *
  ***
   *****
    *******
     *********
      ***********
       *************
        ***************
         *****************

 

 


 

 

6. 공백을 하나씩 빼서 더해지도록 하여 피라미드를 완성

let output6= '' 

for(let i = 0; i < 9; i++){
  for(let k = 0; k < 8 - i; k++) {
    output6 += ' '}
  for (let j = 0; j < (i * 2 + 1); j++) { 
    output6 += '*'
  }
  output6 += '\n'
}

console.log(output6);
        *
       ***
      *****
     *******
    *********
   ***********
  *************
 ***************
*****************

 

 


 

7. 피라미드 뒤집기

let output5= '' 

for(let i = 0; i < 9; i++){
  for (let k = 0; k < 9 - i; k++) {
    output5 += ' '}
  for (let j = 0; j < (i * 2 + 1); j++) { 
    output5 += '*'
  }
  output5 += '\n'
}

for(let i = 0; i < 10; i++){
  for (let k = 0; k < i; k++) {
    output5 += ' '}
  for (let j = 0; j < ((9-i) * 2 + 1); j++) { 
    output5 += '*'
  }
  output5 += '\n'
}

console.log(output5);
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *

 

 


 

 

출처

 

https://www.youtube.com/watch?v=sN9vXNkV3JE&list=PLBXuLgInP-5kxpAKy2DNXoebCse2grHjl&index=25

 

Comments