[백준 | Javascript] 2438

박기영·2022년 5월 16일
0

백준

목록 보기
29/127

반복문 9단계
2438번. 별 찍기-1

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입출력

예제 입력

5

예제 출력

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

solution 1

const fs = require('fs');
const inputData = fs.readFileSync('/dev/stdin').toString();

const num = Number(inputData);
let result = '';

for(let i = 1; i <= num; i++){
	for(let j = 1; j <= i; j++){
    	result += '*';
    }
  // 개행 처리 문자를 넣어줌으로서 별 개수를 구분할 수 있다.
  result += '\n';
}

// 모든 문자열을 이어서 입력한 뒤 한번에 출력
console.log(result);

solution 2

const fs = require('fs');
const inputData = fs.readFileSync('/dev/stdin').toString();

const num = Number(inputData);
let result = '';

// 누적합을 매 반복마다 출력
for(let i = 1; i <= num; i++){
	result += '*';
  	console.log(result);
}

solution 3

const fs = require('fs');
const inputData = fs.readFileSync('/dev/stdin').toString();

const num = Number(inputData);
let result = '';

// i번 문자열을 반복하는 것을 매 반복마다 출력
for(let i = 1; i <= num; i++){
	result = '*'.repeat(i);
  	console.log(result);
}

해설

이 문제는 풀이가 다양하다.
2, 3번 해답이 간결해서 굉장히 맘에 든다.
repeat()는 지정한 횟수 만큼 문자열을 반복하는 함수이다.

profile
나를 믿는 사람들을, 실망시키지 않도록

0개의 댓글