728x90
반응형

 

 

백준 1000번 Node.js(자바스크립트) 풀이 


❓ 문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

💻 입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

📈 출력

첫째 줄에 A+B를 출력한다.

반응형

 

👩🏻 내가 제출한 코드

const fs = require("fs");

const input = fs.readFileSync("/dev/stdin").toString().split(' ');

const A = parseInt(input[0]);
const B = parseInt(input[1]);

console.log(A + B);

 

👩🏻‍💻 풀이

1) Node.js에서 입력을 받으려면 아래와 같은 코드를 추가해줘야한다. 그 이유를 공부해보자!

const fs = require("fs");

const input = fs.readFileSync("/dev/stdin").toString().split(' ');

 

 

//fs모듈 불러오기
const fs = require("fs");

▶ 먼저 fs는 무엇일까?

fs는 fs모듈인데 파일 시스템에 접근하는 모듈로 파일을 생성하거나 삭제하거나 읽거나 쓸 수 있다.

require 명령어로 fs라는 모듈을 불러오는 것.

▶  여기서 모듈이란?

Node.js에서 모듈은 .js 확장자를 가진 파일이며, 다른 파일에서 해당 모듈을 가져와 사용할 수 있다. Node.js는 CommonJS 방식의 모듈 시스템을 사용하며, require() 함수를 통해 다른 모듈을 가져올 수 있다.

 

const input = fs.readFileSync("/dev/stdin").toString().split(' ');

▶  fs모듈에서 readFileSync 함수로 /dev/stdin (= standard input)을 참조해서 불러오는 것.

불러온 입력값을 toString()으로 type을 string으로 변환해주고, split(' ')으로 띄어쓰기로 구분해서 input이라는 배열에 저장하는 것이다.

readFile   vs   readFileSync

readFile

비동기식 처리.

데이터를 가져올 때 프로그램 진행을 멈추지 않고 그 다음으로 진행함.

readFileSync

동기식 처리.

데이터를 가져올 때 프로그램 진행을 멈추고, 꼭 순서대로 실행함.

[출처] https://mywebproject.tistory.com/169#comment13263398

 

 

2) A와 B를 input 배열의 아이템 0번 / 1번으로 각각 저장한다.

대신, 반드시 연산을 'number'의 형태로 해야하므로 parseInt를 해준다.

 

문제에서 정수 A와 B라고 나와있으므로 parseInt.

>> 만약 소수점 포함한 수라면 parseFloat로 해줄것.

const A = parseInt(input[0]);
const B = parseInt(input[1]);

console.log(A + B);

 


🔗문제 링크 

https://www.acmicpc.net/problem/1000

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net


 

728x90
반응형