백준에 코드를 올리기 전에 JavaScript를 테스트할 수 있는 환경을 VSCode로 세팅하고자 한다.
Node.js 다운 사이트 : https://nodejs.org/
왼쪽은 LTS(장기적으로 안정된 지원이 보장)버전이고 오른쪽의 Current는 최신기능을 제공하지만 업데이트가 발생하니깐 안정적이지 않을 수 있다. 학습을 위해서 다운받는 것이기 때문에 최신버전인 Current를 다운받았다.
설치가 완료되면 윈도우의 명령 프롬프트를 켜서 Node.js가 정상적으로 다운이 됐는지 확인한다.
node -v
npm -v
VSCode 에서는 마켓플레이스에서 다양한 확장 플러그인을 다운 받을 수 있다. "Code Runner"를 이용하면 VSCode 내장 터미널에서 단축키를 사용해 자바스크립트를 비롯한 다양한 프로그래밍 언어로 구현된 소스코드를 간단히 실행할 수 있다.
확인하고 싶은 문장에 debugger를 걸고 TERMINAL에서
node
+ 실행하고자 하는 js파일 이름
node index
알고리즘 문제 풀이 테스트 환경은 아래와 같이 구성했다.
나는 백준의 2558번을 제출하는 과정을 아래와 같이 진행한다.
문제의 예제 입력을 복사해서 붙여넣기 하는 파일이다.
example.txt의 내용을 받아서 실행시키는 파일이다.
let input = require('fs').readFileSync('example.txt').toString().split('\n');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a+b);
실제 문제 풀때는 readFileSync 안의 파일 이름 바꾸고 백준에 넣기!!
index.js를 실행해서 통과가 되면 백준에 업로드할 코드를 만들어 줘야한다.
var input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a+b);
백준에 업로드 할때에는 readFileSync 안의 값을 '/dev/stdin'으로 해야 처리가 된다.
나는 github에 올리기 위해서 백준용으로 2558.js를 따로 만든다.
백준 문제를 풀때마다 example.txt와 index.js는 계속 바뀐다. 그렇기 때문에 이 파일들을 매번 github에 올릴수는 없다. 그래서 gitignore파일로 무시해도 되는 파일을 정의한다.
나는 이렇게 두 파일을 .gitignore파일 안에 등록했다.
1 2
로 들어올 때
var input = require('fs').readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
input 변수에 공백으로 split
한 문자들이 array 형태로 들어온다. parseInt
를 통해서 하나하나 분리한다.
1
2
처럼 개행을 기준으로 값이 하나씩 들어올때
var input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
'\n' 개행문자로 split
한다.
참고했습니다 감사합니다.