[JS] 백준 2438. 별 찍기 - 1

n-u·2022년 6월 22일
0

Algorithm

목록 보기
14/33
post-thumbnail

백준 2438. 별 찍기 - 1

https://www.acmicpc.net/problem/2438

제출한 풀이

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(file).toString();
result = '';

for (let i = 0; i < input; i++) {
    for (let j = 0; j < i; j++) {
        result += '*';
    }
    result += '*\n';
}
console.log(result);

2중 for문을 통해 문제를 풀었다.

  • 첫번째 for문은 수직으로 별의 수를 찍는 반복문
    • input[0]의 값이 5이므로, 5번 수직으로 별을 하나씩 찍는다.

      *
      *
      *
      *
      *

  • 두번째 for문은 수평으로 별의 수를 찍는 반복문
    • j의 값을 i의 값으로 부여해

      i = 0 -> j < 0 : 반복문 실행 x
      i = 1 -> j < 1 : 반복문 실행 1 => *
      i = 2 -> j < 2 : 반복문 실행 2 => **
      i = 3 -> j < 3 : 반복문 실행 3 => ***
      i = 4 -> j < 4 : 반복문 실행 4 => ****
      i = 5 인 경우에는 첫번째 반복문이 종료 된다.

      수평으로 정렬된 별을 얻을 수 있다.
  • 수직과 수평의 별을 result에 담아 출력한다.

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

풀면서 알게 된 것

for문 result 변수가 중첩된 for문 아래에 위치하면 중첩된 for문의 값들도 담고 있다.

profile
기록하며 발전하는 삶

0개의 댓글