Backdrop

백준 온라인 저지 ▸ 1000

A+B

문제

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

입력

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

출력

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

예제 입력 1

1 2

예제 출력 1

3

힌트

여기를 누르면 1000번 예제 소스를 볼 수 있습니다.

풀이

Hello World (2557)를 먼저 풀어보세요!

이론

변수 선언하기

const fs;

변수는 값을 저장하는 공간이에요. 변수를 선언하는 방법은 constlet이 있어요. const는 상수를 선언할 때 사용해요. 상수는 한 번 선언하면 값을 바꿀 수 없어요. let은 변수를 선언할 때 사용해요. 변수는 선언한 후에도 값을 바꿀 수 있어요.

모듈 불러오기

const fs = require('fs');

모듈은 파일 단위로 코드를 재사용할 수 있게 해 줘요. require() 함수를 통해 모듈을 불러올 수 있어요.

fs 모듈은 파일 시스템과 상호작용할 수 있게 해 줘요.

입력받기

const fs = require('fs');
const [a, b] = fs.readFileSync(0).toString().split(' ').map(Number);

입력을 받는 방법은 크게 readline 모듈과 fs 모듈을 사용하는 방법이 있어요. 그 중 fs 모듈을 사용하는 방법을 알아볼게요.

fs 모듈은 비동기와 동기 방식으로 파일을 읽어올 수 있어요. 비동기 방식은 파일을 읽어오는 동안 다른 작업을 할 수 있지만, 동기 방식은 파일을 읽어올 때까지 다른 작업을 할 수 없어요. PS 문제를 풀 때는 동기 방식으로 입력을 받는 것이 편리해요. 동기 방식으로 사용하기 위해서는 함수 이름 뒤에 Sync를 붙여주면 돼요. 즉, readFileSync() 함수는 파일을 동기적으로 읽어올 수 있어요. 함수는 버퍼를 반환해요.

0은 표준 입력(Standard Input)을 의미해요.

toString()을 통해 버퍼를 문자열로 변환하고, split(' ')을 통해 공백을 기준으로 문자열을 나눠줘요. 예를 들어, 1 2를 입력받으면 ['1', '2']가 저장돼요.

split() 함수는 문자열을 나눠주는 함수에요. 인자로는 문자열을 나눌 기준을 넣어줘요. 공백을 기준으로 문자열을 나누고 싶으면 ' '을 넣어주면 돼요.

map() 함수는 배열의 모든 요소에 함수를 적용해 새로운 배열을 만들어줘요. map() 함수의 인자로는 요소에 적용할 함수를 넣어줘요. 여기에서는 Number() 함수를 넣어줬어요. Number() 함수는 문자열을 숫자로 변환해줘요. input 배열의 모든 요소를 숫자로 변환한 새로운 배열을 만들어 ab에 저장해요.

코드

const fs = require('fs');
const [a, b] = fs.readFileSync(0).toString().split(' ').map(Number);
 
console.log(a + b);