🔖 직각 삼각형 출력하기
📌 문제
문제 설명
*
의 높이와 너비를 1이라고 했을 때, *
을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
제한사항
- 1 ≤
n
≤ 10
입출력 예
입력 #1
1
3
출력 #1
1
2
3
*
**
***
입출력 예 설명
입출력 예 #1
- n이 3이므로 첫째 줄에 * 1개, 둘째 줄에 * 2개, 셋째 줄에 * 3개를 출력합니다.
✏️ 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
let star = ''
for (let i = 0; i < input; i++ ) {
for(let j = 0; j <= i; j++) {
star += '*';
}
star += '\n';
}
console.log(star);
});
*
를 출력하기 위해 빈 문자열을 할당한 star를 선언하였다. 그후 이중 for문을 활용하여*
을 활용한 직각삼각형을 출력하였다. i가 0일때, j=0이므로 star에*
를 할당한다. j=1일때 조건에 만족하지 않으므로 star에 개행문자인\n
을 할당한다. 이렇게 반복하여 첫번째 줄에는*
가 한개, 두번째 줄에는 2개, 세번째 줄에는 3개를 출력하게 되고 for문이 끝나면 console.log()로 지금까지 할당된*
이 저장된 문자열 변수 star 를 출력한다.
node.js 입력받기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// 모듈 가져오기 const readline = require('readline'); // readline 모듈을 사용하여 입출력을 위한 인터페이스 생성 const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); // 입력 받을 값을 위한 input 변수 초기화 let input = []; //rl 변수 rl.on('line', function (line) { // 공백을 기준으로 값을 입력받기 위한 코드 input = line.split(' '); }).on('close', function () { // 입력이 끝난후 실행할 코드 console.log(Number(input[0])); });
🔍 다른 사람 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 다른 사람 풀이
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
for (let i = 1; i <= +input[0]; i++) {
console.log('*'.repeat(i));
}
});
이 풀이에서는 이중 for문을 사용하지 않고, 하나의 for문과 repeat() 메서드로 문제를 해결하였다.
str.repeat(count);
- 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환