[JavaScript] - 입력

큘피·2024년 6월 21일

JavaScript-codingtest

목록 보기
6/6

1. readline

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

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
});
rl.on('close', function () {
    console.log(Number(input[0]));
});

readline 모듈을 사용하려면 먼저 모듈을 가져와 인터페이스를 설정해야 합니다.

rl.on('line', callback)은 입력을 한 줄씩 받을 때마다 호출됩니다. line 변수는 입력된 한 줄의 문자열을 담고 있으며, 이 문자열을 공백으로 분리하여 input 배열에 저장합니다.

rl.on('close', callback)은 입력이 끝났을 때 호출됩니다. 여기서는 input 배열의 첫 번째 요소를 숫자로 변환하여 출력합니다.

2. fs

백준에서 이것을 이용합니다.

const fs = require('fs');

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

require을 이용해 fs모듈을 가져옵니다.
readFileSync을 이용해 /dev/stdin에서 입력을 동기적으로 읽고, 문자열로 변환한 후, 줄 단위로 나눕니다.

예시 코드

const fs = require('fs');

// 표준 입력을 읽어옴
let input = fs.readFileSync('/dev/stdin').toString().split('\n');

// 테스트 케이스 수
const numberOfTestCases = parseInt(input[0]);

// 결과 저장을 위한 배열
let results = [];

// 각 테스트 케이스 처리
for (let i = 1; i <= numberOfTestCases; i++) {
    // 각 줄의 데이터를 공백으로 분리
    let data = input[i].split(' ').map(Number);
    let a = data[0];
    let b = data[1];

    // 두 숫자의 합 계산
    let sum = a + b;

    // 결과 배열에 추가
    results.push(sum);
}

// 결과 출력
results.forEach(result => console.log(result));
profile
취준생의 개발블로그

0개의 댓글