백준 javascript 입력받기 (readFileSync | readline)

김민아·2022년 10월 17일
0
post-thumbnail

14681|사분면 고르기 제출하는 과정에서 평소 사용하던 fs readFileSync런타임 에러 (EACCES)가 나서 readline 적어둡니다.

fs readFileSync로 파일 읽기

VSCode

// input_boj.txt 파일에 테스트케이스 작성

const path = __dirname + '/input_boj.txt' // 제출시 삭제 
// const path = '/dev/stdin' // 제출시 활성화

// 아래 input은 문제마다 조금씩 변경하면서 사용한다. 
const input = require('fs').readFileSync(path).toString().trim().split('\n')

// 14681 문제 코드 
const x = +input[0]
const y = +input[1]

if (x > 0 && y > 0) console.log(1)
else if (x < 0 && y > 0) console.log(2)
else if (x < 0 && y < 0) console.log(3)
else if (x > 0 && y < 0) console.log(4)

readline으로 가져오기

VSCode

// input_boj.txt 파일에 테스트케이스 작성
const fs = require('fs'); // 제출시 삭제 
const path = './input_boj.txt' // 제출시 삭제 

const readline = require('readline')
const rl = readline.createInterface({
	// input: process.stdin, // 제출시 활성화  
	input: fs.createReadStream(path), // 제출시 삭제 
	output: process.stdout,
})

let input = []

rl.on('line', function (line) {
	input.push(line)
}).on('close', function () {
  
	// 14681 코드 시작
	const x = +input[0]
	const y = +input[1]

	if (x > 0 && y > 0) console.log(1)
	else if (x < 0 && y > 0) console.log(2)
	else if (x < 0 && y < 0) console.log(3)
	else if (x > 0 && y < 0) console.log(4)
	// 14681 코드 끝
  
	process.exit()
})

VSCode 디버거

다양한 환경에서 테스트를 해볼 수 있는 vs code 확장이다.

단축키는

  • 코드를 실행시킬 때,
    control + option + N (Ctrl+Alt+N)
  • 코드를 중지시킬 때,
    control + option + M (Ctrl+Alt+M)

0개의 댓글