백준 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
'Coding With Jina > Coding Test' 카테고리의 다른 글
[코딩테스트] 백준 2558번 Node.js(자바스크립트) 풀이 (0) | 2024.04.21 |
---|---|
[정리] 백준에서 자바스크립트로 문제 푸는 방법 (0) | 2024.04.18 |
[코딩테스트]백준 2557번 Node.js(자바스크립트) 풀이 (0) | 2024.04.16 |
[설정] 백준 언어설정 방법 - 자바스크립트로 선택하기 (0) | 2024.04.16 |
[코딩테스트] 자바스크립트 코딩테스트 연습문제 Lv.1 짝수와 홀수 - 프로그래머스 (4) | 2020.11.26 |