백준에서는 프로그래머스와 달리 node.js 로 파일을 읽어와 입력을 받아서 문제 풀이를 해야합니다.
처음부터 입력 읽어오기 + 문제풀이를 동시에 하려고 하면 헷갈릴 수 있으니,
프로그래머스 문제 풀이처럼
입력을 받아서 solution 함수에 넣을 수 있도록 만들어 두고
solution 함수를 따로 작성하여 해당 함수 내부에 문제풀이 코드를 작성하는 것으로 연습해보는 걸 추천합니다.
Input | Output |
---|---|
a b | [ 'a', 'b' ] |
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
console.log(input) // [ 'a', 'b' ]
Input | Output |
---|---|
a b | [ 'a', 'b' ] |
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
console.log(input) // [ 'a', 'b' ]
Input | Output |
---|---|
a | a |
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
console.log(line); // a
rl.close();
}).on("close", function() {
process.exit();
});
Input | Output |
---|---|
a b | [ 'a', 'b' ] |
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input.push(line)
})
.on('close', function () {
console.log(input); // [ 'a', 'b' ]
process.exit();
});
자바스크립트로 백준 문제풀이를 하는 분들을 위해 🔗 백준-단계별로 풀어보기 에 대해
프로그래머스의 solution 함수 처럼 입출력이 들어있는 풀이 코드 모음을 만들어 보았습니다.
solution 함수 내부 코드를 지우고 함수 내부에 문제를 풀면 됩니다.
'./input.txt'
를 '/dev/stdin'
또는 0
으로 바꿔서 제출하시면 됩니다.input.txt
파일에 들어있습니다.🔗 백준 / 단계별로 풀어보기 / 입출력과 사칙연산 / 1000번
// 입출력과_사칙연산/b1000/app.js
const fs = require('fs')
let input = fs.readFileSync('./input.txt').toString().split(' ') // vs
// 코드 제출 시 let input = fs.readFileSync('/dev/stdin').toString().split(' ') 로 바꿔주세요
const num1 = +input[0]
const num2 = +input[1]
function solution(a, b) {
// 여기에 코드를 작성하면 됩니다.
}
solution(num1, num2)
solution 함수 내부에 문제 풀이 코드를 작성 후\
터미널에서 해당 폴더로 진입하여 node.js를 실행시키고 \
직접 테스트 케이스를 입력 후 확인할 수 있습니다.
🔗 백준 / 단계별로 풀어보기 / 반복문 / 2438번
// 반복문/b2438/app.js
function solution(num) {
// 여기에 코드를 작성해주세요
}
const readline = require('node:readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
})
rl.on('line', line => {
solution(+line.trim())
rl.close()
process.exit()
})
# 터미널에서 아래와 같이 node.js를 실행하여 확인할 수 있습니다.
cd 반복문/b2438
node app.js
# 테스트 케이스 input 입력
5