본문 바로가기
Programming/JS & TS

[Javascript] for 문 숙달을 위한 연습문제 - 별찍기

by 강한수달 2021. 12. 14.

공통

- 모든 출력은 console.log('*') 가 아닌 process.stdout.write('*') 로 사용함

- var repeat 이라는 변수를 선언하고 반복문을 돌리는데 사용함

  예) for(var row=0; row<repeat; row++){ /* ..code here.. */ }

- 각 문제는 for 문을 사용해야하며 하단의 결과와 동일하게 출력되야함

- 예제 코드는 페이지 하단에 있으며, 결과만 같으면 모두 정답

문제 1.

*****
*****
*****
*****
*****

 

정답보기

더보기
더보기
var repeat = 5;

for(var row = 0; row < repeat; row++){
    for(var col = 0; col < repeat; col++){
        process.stdout.write('*');
    }
    process.stdout.write('\n');
}

 

문제 2.

*****
****
***
**
*

 

정답보기

더보기
더보기
var repeat = 5;
 
for(var row = 0; row < repeat; row++){
    for(var col = repeat-row; col > 0; col--){
        process.stdout.write('*');
    }
    process.stdout.write('\n');
}

 

문제 3.

*
**
***
****
*****

 

정답보기

더보기
더보기
var repeat = 5;
 
for(var row = 0; row < repeat; row++){
    for(var col = repeat-row; col > 0; col--){
        process.stdout.write('*');
    }
    process.stdout.write('\n');
}

 

문제 4.

  *
 ***
*****
 ***
  *

 

정답보기

더보기
더보기
var repeat = 5;
 
for(var row = 0; row < repeat/2; row++){
    for(var space = row; space < repeat/2; space++){
        process.stdout.write(' '); // 상단 삼각형 공백 출력
    }
    for(var col = 0; col < row*2+1; col++){
        process.stdout.write('*'); // 상단 삼각형 * 출력
    }
    process.stdout.write('\n'); // 줄바꿈
}
 
for(var row = repeat/2-1; row > 0; row--){
    for(var space = row; space < repeat/2+1; space++){
        process.stdout.write(' ');  // 하단 삼각형 공백 출력
    }
    for(var col = 0; col < row*2; col++){
        process.stdout.write('*');  // 하단 삼각형  * 출력
    }
    process.stdout.write('\n'); // 줄바꿈
}



 

문제 5.

*****
 ***
  *
 ***
*****

 

정답보기

더보기
더보기
var repeat = 5;
 
for(var row = 0; row < repeat/2; row++){
    for(var space = 0; space < row; space++){
        process.stdout.write(' '); // 상단 삼각형 공백 출력
    }
    for(var col = 0; col < repeat-(row*2); col++){
        process.stdout.write('*'); // 상단 삼각형 * 출력
    }
    process.stdout.write('\n'); // 줄바꿈
}
 
for(var row = 1; row < repeat/2; row++){
    for(var space = repeat/2-row; space > 1; space--){
        process.stdout.write(' '); // 하단 삼각형 공백 출력
    }
    for(var col = 0; col < row*2+1; col++){
        process.stdout.write('*'); // 하단 삼각형  * 출력
    }
    process.stdout.write('\n'); // 줄바꿈
}

 

댓글