백준 2439 별 찍기-2 [JavaScript]

김한주·2022년 10월 24일
0

문제

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

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

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

예제 입력 1

5

예제 출력 1

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

풀이

// 오른쪽을 기준으로 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
var fs = require('fs')
var input = fs.readFileSync('/dev/stdin').toString().trim();
let num = parseInt(input);
let star = '';
let blank = '';
for(let i=1; i<=num; i++){
    for(let j=input-i; j>0; j--){
        blank += ' ';
    }
    star += '*';
    console.log(blank+star);
    blank = '';
}

blank 변수를 만들어 빈칸을 더해주었다. 예제로 5를 넣었다고 하면, 반복문을 이중으로 사용하여 i(줄의 수)가 늘어날 때 마다 blank를 추가하는 수를 줄여 첫줄은 4321로 blank 4번에 star 1번이 출력되게 하였다. 두번째줄은 321로 blank 3번에 star가 하나 추가되어 2번이 출력되게 하였다. blank를 초기화하여 다시 추가될 수 있게 하였다.

해설

  • trim() 메서드는 문자열 양 끝의 공백을 제거합니다. 공백이란 모든 공백문자(space, tab, NBSP 등)와 모든 개행문자(LF, CR 등)를 의미합니다.
const greeting = '   Hello world!   ';

console.log(greeting);
// expected output: "   Hello world!   ";

console.log(greeting.trim());
// expected output: "Hello world!";
profile
HANJUMON의 성장과정!

0개의 댓글