TIL/알고리즘
아주 쉬운 알고리즘 - 직각삼각형 출력하기
saramnim
2023. 3. 29. 14:13
728x90
기초 알고리즘에 대해 알아보자!
Q. 직각삼각형 출력하기
문제 설명
"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
제한 사항
- 1 ≤ n ≤ 10
입출력 예
입력 #1
3
출력 #1
*
**
***
입출력 예 설명
- 입출력 예 #1
n이 3이므로 첫째 줄에 * 1개, 둘째 줄에 * 2개, 셋째 줄에 * 3개를 출력합니다.
solution.js
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = 0
rl.on('line', function (line) {
input = line;
}).on('close', function () {
let num = Number(input);
for(let i = 1; i <= num; i++) console.log("*".repeat(i));
});
이 문제의 경우 초기 문제 구성이 아래와 같다.
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 () {
console.log(Number(input[0]));
});
우리는 여기서 윗 부분은 그대로 냅두고
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
console.log(Number(input[0]));
});
이 부분만 고치면 되는데, 나는 먼저 close 부분의 function을
.on('close', function () {
let num = Number(input);
for(let i = 1; i <= num; i++) console.log("*".repeat(i));
});
이렇게 바꾼 후 채점했다.
이 경우에는 테스트케이스는 통과하나 제출 후 채점하기의 테스트 3번이 틀리는 것을 볼 수 있다.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = 0
rl.on('line', function (line) {
input = line;
}).on('close', function () {
let num = Number(input);
for(let i = 1; i <= num; i++) console.log("*".repeat(i));
});
이는 input을 초기 코드 구성과 같이 굳이 배열로 받아 split하지 말고 처음부터 숫자로 받으면 해결된다!
728x90
반응형