JavaScript에서의 별찍기 문제

BossTeemo·2024년 5월 4일
post-thumbnail

문제

* 문자로 삼각형 모양을 출력하는 함수 printTriangle을 작성하세요. 함수는 height라는 정수 인자를 받아, 해당 높이만큼의 삼각형을 출력해야 합니다. 각 줄마다 출력되는 *의 개수는 1부터 시작하여 줄마다 하나씩 증가해야 합니다.

요구사항:

  • printTriangle 함수는 숫자 height를 파라미터로 받습니다.
  • 각 줄의 * 개수는 1부터 시작하여 1씩 증가합니다.
  • 예를 들어, printTriangle(3)을 호출하면 아래와 같이 출력되어야 합니다:
    *
    **
    ***
  • 모든 줄은 새로운 줄로 시작되어야 합니다.

function printTriangle(height) {
    let message = '';
    for (let i = 0; i < height; i++) {
        message += '*';
        console.log(message);
    }
}

// 테스트 코드
console.log('높이: 1');
printTriangle(1);

console.log('높이: 3');
printTriangle(3);

console.log('높이: 5');
printTriangle(5);

해설

  • message 변수를 for 문 외부에 선언하여 반복 시마다 *를 누적할 수 있도록 합니다.
  • for 문은 i = 0부터 시작하여 i < height까지 반복합니다.
  • 반복할 때마다 message*를 하나씩 추가하고, console.logmessage를 출력하여 각 줄의 *를 출력합니다.

문제 분석

  • 반복문 안에서 message 변수를 선언하면 매 반복마다 초기화되기 때문에 항상 '*'만 출력됩니다.
  • 이러한 이유로, 변수의 스코프를 올바르게 설정하는 것이 중요합니다.
profile
1인개발자가 되겠다

0개의 댓글