백준 JavaScript VSCode 환경 세팅

응다다·2021년 8월 24일
23

백준에 코드를 올리기 전에 JavaScript를 테스트할 수 있는 환경을 VSCode로 세팅하고자 한다.

1. Node.js 다운로드

Node.js 다운 사이트 : https://nodejs.org/

왼쪽은 LTS(장기적으로 안정된 지원이 보장)버전이고 오른쪽의 Current는 최신기능을 제공하지만 업데이트가 발생하니깐 안정적이지 않을 수 있다. 학습을 위해서 다운받는 것이기 때문에 최신버전인 Current를 다운받았다.

설치가 완료되면 윈도우의 명령 프롬프트를 켜서 Node.js가 정상적으로 다운이 됐는지 확인한다.
node -v

npm -v

2. VSCode 세팅

1) VSCode 다운로드

2) Code Runner 다운로드

VSCode 에서는 마켓플레이스에서 다양한 확장 플러그인을 다운 받을 수 있다. "Code Runner"를 이용하면 VSCode 내장 터미널에서 단축키를 사용해 자바스크립트를 비롯한 다양한 프로그래밍 언어로 구현된 소스코드를 간단히 실행할 수 있다.

  • 실행 단축키 : Ctrl + Alt + N

※ 디버그 걸어서 실행하고 싶을 때


확인하고 싶은 문장에 debugger를 걸고 TERMINAL에서
node + 실행하고자 하는 js파일 이름

  • index.js를 실행하고자 할 때 : node index

3) JavaScript 실행환경 구성

알고리즘 문제 풀이 테스트 환경은 아래와 같이 구성했다.

  • 파일 위치 : C:\Algorithm\Algorithm_JS
  • 실행 JS : index.js
  • 예시 담길 txt파일 : example.txt
  • 백준문제 풀이 파일 저장 폴더 : Algorithm_JS\Baekjoon
  • 프로그래머스 풀이 파일 저장 폴더 : Algorithm_JS\Programmers

3. 알고리즘 문제 풀이 TEST 과정

백준 2558번 문제 링크

나는 백준의 2558번을 제출하는 과정을 아래와 같이 진행한다.

1) 예제가 담길 txt파일 : example.txt

문제의 예제 입력을 복사해서 붙여넣기 하는 파일이다.

2) 실행 JS 파일 : index.js

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 안의 파일 이름 바꾸고 백준에 넣기!!

3) 백준에 업로드 할 코드 : Baekjoon\2558.js

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를 따로 만든다.

※ .gitignore

백준 문제를 풀때마다 example.txt와 index.js는 계속 바뀐다. 그렇기 때문에 이 파일들을 매번 github에 올릴수는 없다. 그래서 gitignore파일로 무시해도 되는 파일을 정의한다.

나는 이렇게 두 파일을 .gitignore파일 안에 등록했다.

4. 백준 문제의 예제 입력받기

1)한 줄에 공백으로 값이 들어올 때

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를 통해서 하나하나 분리한다.

2) 한 줄에 하나씩 값이 들어올 때

1
2
처럼 개행을 기준으로 값이 하나씩 들어올때

var input = require('fs').readFileSync('/dev/stdin').toString().split('\n');

'\n' 개행문자로 split한다.

1개의 댓글

comment-user-thumbnail
2023년 9월 12일

참고했습니다 감사합니다.

답글 달기