백준에서는 JS를 지원하지 않기 때문에 Node.js를 이용해 문제를 풀어야 한다.
Node.js 노드 개념 이해하기 자바스크립트 JavaScript 런타임 이벤트
Node.js 노드 개념 이해하기 JavaScript 런타임 - 노드는 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는데 제일 많이 사용된다. 이벤트 기반 이벤트 루프 논블로킹 I/O 싱글
hanamon.kr
JS로 입력을 받을 수 없기 때문에 Node.js의 fs 모듈을 이용해 input을 입력한다.
1001번 문제인 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 Node.js로 풀어보자.
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a-b);
입력받은 값을 공백을 기준으로 나눈 후, parseInt로 정수로 변환시켜 준다. 위의 코드를 백준에 입력하면 정답처리 되지만 내 기기에서는 테스트할 수 없다. 유닉스 기반의 운영체제에서는 /dev/stdin을 입력하면 터미널 상에서 사용자에게 값을 받을 수 있지만, 윈도우에서는 불가능하기 때문이다.
그래서
var fs = require("fs");
var input = fs.readFileSync("./input.txt").toString().split(" ");
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a - b);
input.txt 파일을 따로 만든 후 해당 파일에 원하는 입력 값을 넣어 주었더니 vsc 상에서도 잘 동작한다(백준에 제출할 때는 바꿔줘야 한다. 귀찮..)
728x90
'Algorithm' 카테고리의 다른 글
[15552] 빠른 A+B - JavaScript (Node.js 시간 초과 해결) (0) | 2022.06.12 |
---|---|
[14681] 사분면 고르기 - JavaScript (Node.js EACCESS 에러 수정) (0) | 2022.06.11 |
[1018] 체스판 다시 칠하기 - Python (0) | 2022.01.26 |
[1004] 어린 왕자 - Python (0) | 2022.01.24 |
[9461] 파도반 수열 - Python (0) | 2022.01.24 |