Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

joyful

[Javascript] 준비단계 - node.js 입출력 방법과 오류 해결법 - 백준코딩 본문

백준코딩

[Javascript] 준비단계 - node.js 입출력 방법과 오류 해결법 - 백준코딩

조이풀한 개발자 2023. 6. 10. 20:21

 

최근 백준코딩 문제를 풀기위해 vscode를 설정하다가

준비단계에서부터 여러 오류를 맛 보아서(ㅜㅜ) 블로그에 정리해보고자 합니다.

 

 

우선 문제를 풀 때 필요한 환경을 설치하는 방법부터 정리해보겠습니다.

 

 

fs모듈

백준코딩에서 자바스크립트로 코딩테스트를 할 때 node.js를 사용합니다.

이 때 파일을 불러오는 기능이 필요합니다.

 

백준코딩에서 추천하는 방식은 fs모듈을 이용하는 방식입니다.

fs는 node.js가 기본적으로 제공하는 filesystem으로써 

파일을 불러오는 등의 기능을 제공합니다. 

 

 

fs모듈 이용법

1.  vscode에서 'npm install fs'로 파일시스템을 설치합니다.

2. 예제를 복사하고 실행하기 위해 test.txt를 만듭니다. 

3. readFileSync의 경로를 test.txt의 위치로 수정합니다.

4. readFileSync로 txt 파일을 읽어와서 toString과 split을 이용하여 배열로 만들어 input으로 저장하여 문제를 풉니다.

5.vscode 터미널에서 'node 작업중인 js파일'경로를 입력하여 결과를 확인합니다.

(파일 경로는 작업 파일 목록 위에 오른쪽 버튼을 눌러 Copy relative path를 복사하셔도 됩니다.)

6. 백준코딩에서 제출 할 때에는 '/dev/stdin'경로로 변경하면 됩니다. 

 

test.txt 예제 파일 생성
터미널로 결과 확인하는 법

let fs = require('fs');
// let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let input = fs.readFileSync('joyHwang/baekjoon/step02/test.txt').toString().split(' ');

코드는 위와 같이 입력해주시면 됩니다.

 

 

사용 시 주의사항

저는 위의 순서대로 작업을 하다가 5번 단계에서 막혔었습니다.

터미널에서 결과를 보려하자 계속 에러가 났습니다. 

 

결정적인 이유는 세가지였습니다. 

 

1. 폴더명을 한국어로 입력했음

 

한국어 폴더명을 올바르게 읽지 못하고 알 수 없는 숫자들이 나열 되고 있습니다.

폴더명은 꼭꼭 영어로 해야 한다는 점..! 잊지 말아야겠습니다.

너무나 당연한 부분인데 시작부터 놓쳐버렸습니다ㅠㅠ

 

2. test.txt 파일이 정확한 경로에 위치하지 않았음

 

파일 혹은 저장소가 없다는 에러가 뜹니다.

파일이 정확한 경로에 저장 되어 있는 지 꼭 확인해야 합니다!

 

3. 터미널에서 경로를 정확하게 입력하지 않았음

 

터미널에서 결과를 확인하려면 당연히 정확한 경로를 적어야겠죠..

cd(Change Directory) 와 dir(Directory) 이라는 폴더 이동 명령어를 사용해서

경로를 올바르게 입력했습니다. 

 

cd는 폴더를 한단계 뒤로 이동하는 명령어이고,

dir은 현재 디렉토리를 보여주는 명령어입니다. 

 

두가지 명령어를 이용하여 터미널 경로도 꼭 꼭 확인해야 합니다!

 

 

 

너무나 간단한 문제들이었지만

계속되는 에러들 때문에 문제를 풀기 전부터 패닉이었습니다ㅠㅠ

앞으로 같은 실수를 반복하지 않도록 잘 기록해두고 기억해야겠습니다!!