[node.js] 백준 입출력과 사칙연산 풀이 모음 (1)

송히·2023년 1월 9일
0
post-thumbnail

입출력과 사칙연산 풀이 모음 (1)

: node.js를 이용한 백준 단계별로 풀어보기


🔍 2557번: Hello World

클릭해서 문제 전체 보기🔼

📖 풀이 코드

console.log("Hello World!");

💚 추가 학습~
자바스크립트 출력 함수에는 console.log()process.stdout.write()가 있다.
두 함수의 차이점은 개행 여부이다. 둘의 실행 속도는 크게 차이나지 않는다.

  • console.log(): 출력할 때마다 자체적으로 줄바꿈 됨

  • process.stdout.write(): 줄바꿈, 띄어쓰기 등 없이 이어서 출력됨


🔍 1000번: A+B

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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));

🔍 1001번: A-B

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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]);

🔍 10998번: A×B

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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]);

🔍 1008번: A/B

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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]);

🔍 10869번: 사칙연산

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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.ceil(): 올림된 정수 반환
  • 내림 ▶ Math.floor(): 내림된 정수 반환
  • 반올림 ▶ Math.round(): 0.5를 기준으로 반올림된 정수 반환

  • Math 객체를 사용하면 실제 계산된 값과 약간의 오차가 생긴다.
    이는 자바스크립트의 실수 처리 방식때문이고, 이를 '부동 소수점 오차'라고 한다.


🔍 10926번: ??!

클릭해서 문제 전체 보기🔼

📖 풀이 코드

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString();

console.log(input + "??!");

참고한 자료(클릭하면 이동): 입출력함수, 소수점 처리

profile
데브코스 프론트엔드 5기

0개의 댓글

관련 채용 정보