백준 알고리즘 2439번[별 찍기-2] JS

Chaeeun Lee·2022년 8월 11일
0

백준 알고리즘

목록 보기
4/7

문제


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

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

입력


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

출력


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

풀이

🍯tip

사실 별을 찍는 것 자체는 어렵지 않다. 별들을 오른쪽 정렬을 해줘야 하는데 이 부분을 어떻게 코드를 짤 것인지가 중요하다.

  • 반복문을 사용해서 별 찍기
  • 공백을 처리하는 변수를 따로 만들기
  • 다음 iteration 넘어가기 전에 공백을 처리하는 변수를 초기화 하기
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ').map(val=>+val)

let [n] = input;
let star = ""
let blank = ""

for(let i=1; i<=n; i++){
    star = star + "*";
    for(let j=1; j<=n-i; j++){
        blank = blank + " "
    }
        console.log(blank+star);
        blank = ""				//(1)
}

(1) 부분을 추가해주느냐 하지않느냐에 따라서 결과가 매우 달라진다. blank를 초기화하지 않으면i=0일 때, 공백은 4칸이 된다. 그 이후 i=1 일 때, 공백은 3칸이 아니라 그 전의 4칸과 더해져 총 7칸이 된다. blank를 초기화해줘야 원하던 대로 i=1일 때 공백이 3칸이 된다.

profile
나는야 뚝딱이 개발자야

0개의 댓글