파이썬에서는 간단하게 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 |
댓글