[JS 코딩 테스트] 준비 - 값 입력 받기

bomhada·2022년 6월 6일
1
post-thumbnail
post-custom-banner

자바스크립트를 이용한 알고리즘 문제를 풀기 위해서는 다음과 같은 방식으로 해야합니다.

값 입력 받는 방법

1. 값을 입력 받기 위해서는 먼저 node.js의 file system 모듈을 불러옵니다.

const fs = require(`fs`);

2. fs 모듈의 readFileSync 함수를 통해 동기적으로 해당 경로의 파일 전체를 읽어들입니다.

  • 백준에서는 '/dev/stdin' 경로에 테스트 케이스 파일이 있습니다.
  • 읽어드린 정보는 toString() 함수를 통해 문자열로 변환하여야 사용할 수 있습니다.
  • 입력 받은 문자열을 split() 함수를 통해 배열화 합니다.
    이 때, 공백을 기준으로 문자를 나누어 값을 저장합니다.(split(' '), split('\n') 등)
  • 예) 2 3 입력 시, inputData = ['2', '3'];
const inputData1 = fs.readFileSync('/dev/stdin').toString().split(' ');

3. options으로 인코딩을 string 자료형으로 넘기는 경우, toString을 할 필요없이 문자열 반환

const inputDataStr = fs.readFileSync(0, 'utf8').split(' ');

4. 문자열을 숫자로 바꿔서 넘길 때
배열.map(value => +value) 이것과 같이 +를 붙여주면 숫자가 된다.

const inputDataNum = fs.readFileSync('/dev/stdin').toString().split(' ').map(value=>+value);

5. 여러 줄로 입력받을 때

const inputDataStr = fs.readFileSync('/dev/stdin').toString().split('\n');

실전 적용

백준 javascript 1000번 문제를 풀어보겠습니다.

백준 javascript 1000번

Solution

const fs = require('fs');
const inputData = fs.readFileSync('/dev/stdin').toString().split(' ').map(value=>+value);

const [a, b] = inputData;

console.log(A+B);
post-custom-banner

0개의 댓글