입출력과 사칙연산 5단계
1000번. A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
1 2
3
// 입력 데이터 파싱
const fs = require('fs');
const inputData = fs.readFileSync('/dev/stdin').toString().split(' ');
// 입력 데이터는 string이므로 number로 변환
const A = parseInt(inputData[0]);
const B = parseInt(inputData[1]);
// 결과 출력
console.log(A+B);
이번에는 앞선 문제들과 다르게 데이터 입력을 받는 문제가 나왔다.
그런데...백준에서는 JS를 지원하지 않기 때문에 node.js로 문제를 풀어야한다. 따라서 데이터 입력을 받을 때는 별도의 처리가 필요하다.
그 방법을 알아보자.(프로그래머스에서는 이런 이슈가 없다고 한다.)
참고 사이트(https://leeph.tistory.com/48)
// 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(' ');