본문 바로가기
Frontend/HTML & CSS & JavaScript

자바스크립트로 Input받기.

by Dreamvelope 2024. 1. 25.

파이썬에서는 간단하게 variable = input()으로 받을 수 있었다.

자바스크립트는 node.js의 모듈을 가져와서 쓴다. 더럽게 복잡하다. 하지만 배워야겠지..?

1.'readline' 모듈 가져오기

먼저, Node.js의 'readline' 모듈을 사용할 수 있도록 가져온다.

const readline = require("readline");

2.'readline' 인터페이스 생성하기

'readline' 모듈을 이용하여 입력 및 출력 스트림을 생성한다. (stdin, stdout 은 표준 입출력 말한다고함 standard약자인것 같다)

const rl = readline.createInterface({

  input: process.stdin,

  output: process.stdout

});

3.입력받기

// 이벤트 리스너가 있을때마다 콜백함수 반복
rl.on("line", (line) => {
  // line 가공해서 문제풀기
})

// 하나의 이벤트 리스너를 처리하는 함수
rl.once("line", (line) => {
  // line 가공해서 문제풀기
})

여기서 콜백함수의 파라미터에 들어간 line 이 알고리즘 문제에서 들어오는 "한 줄" 이다.

이걸 가공해서 문제를 풀면 되겠다.

on과 once를 왜 나눠서 썼냐면

TC가

2 4

3 1

4 4

이런식일때는 on을 사용해서 반복처리하나로 끝낼 수 있지만

1

2 5

3

2 2

3 7

4 4

이런식으로 줄마다 형식이 다를때

once와 on을 나눠서 써야 하기 때문이다.

 

## 또한 on, once 메서드의 첫번째 인자에는 콜백함수를 실행시킬 타이밍을 정할 여러가지 옵션을 넣을 수 있다.

 

"line"은 사용자가 엔터를 누를때나 \r \n 또는 \n \r 이 입력됐을때 실행시킨다.

 

그외에도 history, pause 등 여러가지 옵션이 있지만 알고리즘을 풀때에는 line만 기억해도 좋을 듯 하다.

'Frontend > HTML & CSS & JavaScript' 카테고리의 다른 글

CSS 새로운버전?  (0) 2024.02.08
HTML,CSS-style 태그 선택자 적용 우선순위  (3) 2023.03.19
HTML, CSS  (1) 2023.03.07

댓글


반갑습니다 ✿ڿڰۣ— 조은하루 ^^
SSAFY 9기 김웅서 티스토리