: node.js를 이용한 백준 단계별로 풀어보기
클릭해서 문제 전체 보기🔼
📖 풀이 코드
console.log("Hello World!");
💚 추가 학습~
자바스크립트 출력 함수에는 console.log()와 process.stdout.write()가 있다.
두 함수의 차이점은 개행 여부이다. 둘의 실행 속도는 크게 차이나지 않는다.
console.log(): 출력할 때마다 자체적으로 줄바꿈 됨
process.stdout.write(): 줄바꿈, 띄어쓰기 등 없이 이어서 출력됨
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let inputArr;
for (let i = 0; i < input.length; i++) {
inputArr = input[i].split(" ").map((item) => +item);
}
function solution(inputArr) {
return inputArr[0] + inputArr[1];
}
console.log(solution(inputArr));
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let inputArr = [];
input.forEach((num) => inputArr.push(+num));
console.log(inputArr[0] - inputArr[1]);
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let inputArr;
for (let i = 0; i < input.length; i++) {
inputArr = input[i].split(" ").map((item) => +item);
}
console.log(inputArr[0] * inputArr[1]);
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let inputArr;
for (let i = 0; i < input.length; i++) {
inputArr = input[i].split(" ").map((item) => +item);
}
console.log(inputArr[0] / inputArr[1]);
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let inputArr;
for (let i = 0; i < input.length; i++) {
inputArr = input[i].split(" ").map((item) => +item);
}
function solution(inputArr) {
const addtion = inputArr[0] + inputArr[1];
const subtraction = inputArr[0] - inputArr[1];
const multipl = inputArr[0] * inputArr[1];
const division = Math.floor(inputArr[0] / inputArr[1]);
const modulo = inputArr[0] % inputArr[1];
return addtion + "\n" + subtraction + "\n" + multipl + "\n" + division + "\n" + modulo;
}
console.log(solution(inputArr));
💚 추가 학습~
자바스크립트 '소수점 자리의 올림 / 내림 / 반올림'을 계산할 때는 Math 객체를 사용한다.
특정 소수점 자리를 지정하거나 10n자리에서 에서 올림 / 내림 / 반올림 도 가능하다.
반올림 ▶ Math.round(): 0.5를 기준으로 반올림된 정수 반환
Math 객체를 사용하면 실제 계산된 값과 약간의 오차가 생긴다.
이는 자바스크립트의 실수 처리 방식때문이고, 이를 '부동 소수점 오차'라고 한다.
클릭해서 문제 전체 보기🔼
📖 풀이 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();
console.log(input + "??!");