문제

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

 

 

입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

 

 

출력

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

 

 

풀이

입력값을 숫자로 변환해준 다음 입력값에서 1까지 for문이 순회되는 조건을 걸어주고

각각을 result 배열에 push로 넣어준 다음

최종적으로 join('\')을 통해 원하는 형태로 출력해준다.

 

이번 문제는 조건이 10만까지 올라가기 때문에

console.log()로 처리할 경우 시간초과가 나오기 때문에

문자열에 \n을 추가해 하나의 큰 문자열 덩어리로 만들던지

배열에 담은 다음 최종적으로 합치는 등의 가공이 필요했다.

const input = Number(require('fs').readFileSync('/dev/stdin').toString().trim())
const result = []
for(let i = input ; i > 0 ; i--){
    result.push(i)
}
console.log(result.join('\n'))
const input = Number(`20`)
const result = []
for(let i = input ; i > 0 ; i--){
    result.push(i)
}
console.log(result.join('\n'))

'알고리즘 > 백준' 카테고리의 다른 글

[백준 JS] 3046번 R2  (0) 2023.03.09
[백준 JS] 2845번 파티가 끝나고 난 뒤  (0) 2023.03.09
[백준 JS] 2480번 주사위 세개  (0) 2023.03.09
[백준 JS] 2440번 별 찍기 - 3  (0) 2023.03.09
[백준 JS] 2439번 별 찍기 - 2  (0) 2023.03.09

+ Recent posts