Algorithm/Baekjoon(Node.js)

[JavaSrcipt] Baekjoon - 1000 : A+B (Node.js 입력)

비망노트 2021. 8. 18. 20:41

문제

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

입력

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

출력

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

 

예제 입력

1 2

 

예제 출력 

3

 

 

백준 1000번을 풀기전에 파일을 읽는 방법.

fs FileSystem의 약자로 파일처리와 관련된 모듈이다.

 

fs.readFileSync(filename, [options])

filename의 파일을 [options]의 방식으로 읽은 후 문자열을 반환하는데

options에는 보통 인코딩방식이 오며 웹에서는 주로 utf8을 사용하나 생략이 가능하다.

 

즉 아래코드에서는 /dev/stdin이 파일명이되며 utf8이 옵션이된다.

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin', 'utf8').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a+b);

테스트케이스는 파일로 존재하며,

위 코드의 fs.readFileSync('/dev/stdin').toString() 을 통해 1 2를 읽어들인다.

이후 split(' '); 를 통해 공백을 기준으로 끊어 배열로 반환하는것.

-테스트케이스가 여러줄로 입력된경우 split('\n'); 으로 끊어주면된다

 

그럼 input = ['1','2'] 의 배열이 된것이다.

 

var a = parseInt(input[0]); 를 통해 input배열의 0번째 문자열을 정수로 반환한다.

-parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수의 정수를 반환하는 함수

즉 a는 input 배열의 0번째자리에있던 '1'을 1로 받았다.

var b 또한 마찬가지의 순서대로 1번째자리에있던 '2'를 2로 받았다.

 

console.log(a+b) 를 통해 3을 출력한다.

 

 

 

어떻게든 구글링해서 이해는 했지만 아직 생소하다

 

-출처

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