백준 알고리즘 / Node.js 입력

dudgus5766·2021년 7월 6일
2

알고리즘

목록 보기
1/15


알고리즘 공부를 위해 백준 문제풀이를 시작했다. 스터디에서 배운대로 차례차례 단계별로 조금씩 문제를 풀어나갈 예정이다!


그런데, JS가 없다?

제출할 언어를 살펴보니 Python, C++...JS가 없다. 이게 무슨일인가 하고 바로 구글링을 해보니 역시 나처럼 당황한 사람들을 위해 Node.js를 사용한 JS 제출 방법을 찾을 수 있었다😅

이 글은 스터디에서 현재님께서 알려주신 exploit017님의 velog글을 참고하여 정리하였다! (거의 복붙수준..)

1. readline 모듈 사용

소스코드

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.on('line', function(line) {
  console.log(line);

  rl.close();
}).on("close", function() {
  process.exit();
});

기본적으로 매개변수 line에 할당되는 것이 입력값이며, 문자열로 할당된다.
그리고 console.log(line);에 의해 입력 받은 값이 출력된다.

2. fs 모듈 사용

소스코드

let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let num = Number(input);

for (let i = 1; i <= num; i++) {
  console.log(i);
}

readline으로 시간 초과가 나올 때 사용한다.
다들 이 방법을 많이 쓴다고 해서 나도 이 방법으로 문제 풀이를 진행 중이다.



번외 : 코드에 색 넣기 🔵

'다른 velog글을 볼 때마다 왜 내가 적은 코드에는 색이 없는데 이 글에서는 색으로 나뉘어져 있지?'라는 생각을 했는데 다 방법이 있었다.
사실 코드에 색을 넣는다기 보다 코드 자체를 어떤 언어인지 지정해주는 것이었다!

아래와 같이 백틱 3개 뒤에 언어 이름을 넣어주면 된다.

```js
let num = Number(input);
if (num < 10 ){
console.log('A');
};
```

결과! 👉

let num = Number(input);
if (num < 10 ){
console.log('A');
};
profile
RN App Developer

1개의 댓글

comment-user-thumbnail
2021년 7월 7일

번외 꿀팁까지! 감사합니다 👍

답글 달기