반복문 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개의 댓글

Powered by GraphCDN, the GraphQL CDN