[JS] 자바스크립트로 백준 풀 준비하기

Pakxe·2022년 9월 24일
2

JavaScript

목록 보기
2/16
post-thumbnail

0. 어떤 툴을 쓸까

vsc를 사용한다.
백준 문제를 푸는 방법에는 두 가지 방법이 있다.

1. 디버깅이 필요없는 간단한 문제 풀기

아래 글에 적혀있는 입력 방법을 사용하여 입력을 받는다.
(c++로 따지면 cin >> n; 인데 js는 길다...)
https://velog.io/@pakxe/JS-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EB%B0%B1%EC%A4%80-%EC%9E%85%EB%A0%A5%EB%B0%9B%EB%8A%94-%EB%B0%A9%EB%B2%95-%EC%B4%9D%EC%A0%95%EB%A6%AC

그리고 맞는지 아닌지 검사는 아래의 사이트를 이용한다.
Stdin Inputs에 백준 입력을 복사해서 넣고 파란색 Execute 버튼을 누르면 Result에 결과가 출력된다.
https://www.jdoodle.com/execute-nodejs-online/

근데 이 방법은 디버깅을 할 수가 없어 내부 과정이 어떤지 알기 어렵다.
복잡한 문제라면 디버깅을 해야하므로 2번 방법을 이용하자.

2. 디버깅이 필요한 복잡한 문제 풀기

Node.js 설치

일단 Node.js를 설치해 VSCode에서 자바스크립트를 실행할 수 있는 환경을 만들어주자.
Node.js 다운 사이트 : https://nodejs.org/


두 개의 버튼이 보일텐데 왼쪽 LTS가 안정적인 버전이고 오른쪽 Current는 최신이면서 불안정한 버전이다.
따라서 왼쪽의 LTS를 다운받도록 하자.

설치가 된걸 확인하려면 control + `(맥북) 을 눌러 터미널을 실행해

node -v
npm -v

를 입력해보자. 버전이 뜬다면 정상적으로 설치된 것이다.

입력방법 수정

백준의 입력과 vsc에서의 입력은 다른 방법으로 해야한다.

  1. js파일과 같은 위치에 example.txt파일을 만든다. (이름은 달라도 됨)

  2. 이 파일에 백준 입력을 복사해서 붙여넣고 저장한다.

  3. 입력부분 코드에서 readFileSync가 있는 코드를 다음과 같이 바꾼다.

var input = require('fs').readFileSync('example.txt').toString().split('\n');
// 입력을 example.txt에 있는 데이터로 받겠다는 의미

(백준 업로드는 readFileSync 내부 값을 '/dev/stdin'으로 해야하고, vsc에서 실행해볼 때는 'example.txt'로 해야 인식한다.)

디버깅하고 싶은 줄 왼쪽에 중지점 만들기


줄번호 옆의 빈공간을 클릭하면 빨간색으로 중지점이 생긴다.

디버깅 시작하기

f5를 누르면 아래와 같은 창이 뜬다.

Node.js를 클릭하자.


1. 디버그 툴
2. 상태 추척할 때 보는 곳
3. 콘솔(결과 출력되는 곳)

필요에 맞게 상태를 보면서 디버깅하자.

profile
내가 꿈을 이루면 나는 또 누군가의 꿈이 된다.

2개의 댓글

comment-user-thumbnail
2023년 1월 2일

잘 참고하겠습니다. 감사합니다😺

1개의 답글