코딩테스트

자바스크립트에서 콘솔에 입력 받는 방법

wonah 2023. 7. 31. 14:40

📝 한 줄 값 입력받기

  • 자바스크립트에서는 readline 모듈을 이용하면 콘솔을 통해 값을 입력받을 수 있다.

📘 모듈 가져오기

const readline = require("readline");

📘 readline 모듈을 이용해 입출력을 위한 인터페이스 객체 생성

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

📘 rl 변수

rl.on("line", (line) => {
	// 한 줄씩 입력받은 후 실행할 코드
	// 입력된 값은 line에 저장됨
    rl.close(); // 필수!! close가 없으면 입력을 무한히 받음.
 });
 
 rl.on('close', () => {
 	// 입력이 끝난 후 실행할 코드
    process.exit();
 })

💡 정리

const readline = require("readline");

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

rl.on("line", (line) => {
    rl.close();
 });
 
 rl.on('close', () => {
    process.exit();
 });

📝 공백을 기준으로 값 입력받기

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

let input  = []

rl.on("line", (line) => {
	input = line.split(' ').map(el => parseInt(el));
    rl.close();
 });
 
 rl.on('close', () => {
 	input.forEach(el => {
    	console.log(el);
    })
    process.exit();
})
  • 입력되는 것은 모두 문자열이기 때문에 숫자 연산을 할 수 없다. 따라서 숫자 연산을 위해 map() 함수를 사용하고 parseInt()를 이용해 모든 문자를 숫자로 변환해준다.

📝 여러 줄 입력받기

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

let input  = []

rl.on("line", (line) => {
	input.push(line);
 });
 
 rl.on('close', () => {
    console.log(input);
    process.exit();
})
  • 입력 종료는 ctrl + c

📝 공백이 포함된 문자 여러 줄 입력받기

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

let input  = []

rl.on("line", (line) => {
	input.push(line.split(' ').map(el => parseInt(el)));
 });
 
 rl.on('close', () => {
    console.log(input);
    process.exit();
})
728x90