[boj node.js] 2431번 별찍기 -1 javascript

V·2021년 11월 10일
0

JavaScript 

목록 보기
5/6
post-thumbnail

별 찍기 - 1 성공
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 128 MB 164885 101201 85891 62.416%
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

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

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

예제 입력 1
5
예제 출력 1

  • **



풀이

const fs = require('fs');
const n = fs.readFileSync('dev/stdin').toString()*1
for (i=1;i<n+1;i++){ 
    let answer = ''
    for(j=0;j<i;j++){
        answer += '*'
    }
    console.log(answer);
}
}
  • 처음에 배열의 메서드를 사용해 push 해 주는 방법을 생각했다가 for문을 두개 사용해서 풀 수 있겠다는 생각이 들었고 그렇게 풀었다.
  • 하지만 for 문을 중첩해 사용하느 것은 메모리 사용에 좋지 않다는 것을 들은 것 같아서 이전에 풀었던 것을 보았다.
const fs = require('fs');
const n = fs.readFileSync('dev/stdin').toString()*1;
const stars = [];
for (i=0;i<n;i++){
    stars.push('*')
    console.log(stars.join(''));
}
  • 이렇게 풀었었다. 하지만 메모리 사용은 for문을 중첩한 풀이가 더 적었고 시간도 더 빨랐다.
  • 이전 풀이를 보니 for문을 굳이 중첩하지 않고서 풀 수 있었다는 것을 알게 된다.
const fs = require('fs');
const n = fs.readFileSync('dev/stdin').toString()*1
let answer = ''
for (i=1;i<n+1;i++){ 
    answer += '*'
    console.log(answer);
}

이렇게 풀 수 있었다. 그리고 백준에서 풀이를 제출할 때마다 같은 풀이여도 시간과 메모리 사용이 다르다는 것을 알게 되었다. 앞으로 사소한 메모리와 시간으로 고민할 필요는 없을 것 같다.

profile
블로그 이전중 https://sungbeen.com

0개의 댓글