시작하는 중

백준에서 node.js(JavaScript)로 입력받기 본문

자바스크립트/정리

백준에서 node.js(JavaScript)로 입력받기

싱욱 2022. 10. 20. 16:53
const fs = require('fs')
// 문제를 풀 때는 이거로
let input = fs.readFileSync('./input.txt').toString().trim().split('\n')
// 제출시에는 이거로
let input = fs.readFileSync('./dev/stdin').toString().trim().split('\n')

1. 우선 file system 이라는 모듈을 import 해와서 fs에 할당한다.

2. 그런 다음 input.txt라는 파일 형태로 저장해놓고 file system으로 input.txt 파일을 읽는 것

2-1. 이렇게 읽으면 개행문자(\n와 \r)까지 전부 읽는다.

3. toString()을 통해 문자열로 변환하고

4. trim() 문자열 끝의 공백을 제거하고

5. split('\n\)을 통해 엔터가 입력되는 기준에 따라 배열로 변환한다.

 

문제는 또 있다.. 문제의 input이

1 2

123

123

이렇게 주어지면 input에는 ['1 2','123','123'] 이렇게 저장되는데

첫번째 줄을 또 구분하려면

const [N, M] = input[0].split(' ')

을 통해 N과 M으로 매핑해줘야 하고

2번째줄부터 M번동안 입력받아서 배열에 저장해야한다면

const arr = input.slice(1)

slice를 통해 배열을 가져와야 한다.