본문 바로가기
알고리즘

백준 1000번 자바스크립트

by 아촌 2022. 3. 24.

 

1) fs모듈

// file system 모듈을 불러온다.
const fs = require('fs');

// fs모듈의 readFileSync 함수를 통해 동기적으로 해당 경로의 파일 전체를 읽어들인다.
// 백준에서는 '/dev/stdin' 경로에 테스트 케이스 파일이 있다.
// 읽어드린 정보는 toString()함수를 통해 문자열로 변환하여야 사용할 수 있다.
// 입력 받은 문자열을 split() 함수를 통해 배열화한다. (split(' '), split('\\n') 등)
// 예) 2 3 입력시, inputData = ['2', '3']
const inputData1 = fs.readFileSync('/dev/stdin').toString().split(' ');

// options으로 인코딩을 string 자료형으로 넘기는 경우, toString을 할 필요없이 문자열 반환
const inputData2 = fs.readFileSync(0, 'utf8').split(' ');



* 주의사항 : 계산시에는 parseInt 혹은 Number 함수를 통해 숫자로 형변환해야 에러가 발생하지 않는다.

 > 차이점: Number는 숫자+문자가 혼합된 경우, NaN을 리턴하고, parseInt는 첫문자가 숫자라면, 숫자+문자의 경우도 숫자를 리턴한다.

const num1 = Number("100입니다"); // NaN을 리턴한다.
const num2 = Number("100"); // 숫자 100을 리턴한다, num2 === 100 은 true.
const num3 = new Number("100") // num3 === 100 은 false.

const num4 = parseInt("100입니다"); // 숫자 100을 리턴한다, "입니다"는 무시한다.
const num5 = parseInt("숫자100입니다"); // NaN을 리턴한다.
const num6 = parseInt("100"); // 숫자 100을 리턴한다.

const fs = require('fs');

const input = fs.readFileSync("/dev/stdin").toString().split(' ').map(Number);
const a = parseInt(input[0]);
const b = parseInt(input[1]);
console.log(a+b);

'알고리즘' 카테고리의 다른 글

[프로그래머스] 피보나치 수  (0) 2022.12.16
Node.js fs모듈과 readline ??  (0) 2022.03.27
백준 10926 자바스크립트  (0) 2022.03.24