2024.11.20 - [Etc] - 백준 JavaScript 입력받기
백준 JavaScript 입력받기
코딩테스트 제출에서 언어항목 보면 파이썬, C, C++, java는 있어도javascript는 찾아볼 수 없었다.node.js를 이용하여 javascript를 입력받는 방법이 있었다. input.txt 파일을 만들고 js파일에 해당 코드를
ysh0129.tistory.com
이전 글에는 node.js로 자바스크립트를 입력 받는 구조를 알아봤다.
이번에는 예제 입력에 따라 입력하는 방법이다.
1. input.txt 파일 안에 한 줄에 여러 값이 있는 경우

const input = require('fs').readFileSync(process.platform === "linux" ? "/dev/stdin" : "./input.txt").toString().trim().split(" ");
const a = parseInt(input[0]); // 77
const b = parseInt(input[1]); // 77
const c = parseInt(input[2]); // 7777
// input.txt
77 77 7777
split(" ")으로 77 77 7777 인 문자열을 공백을 기준으로 나눈 배열을 반환
parseInt로 input에 있는 문자값을 숫자값으로 변경
따라서 [77, 77, 7777]로 변환
a는 0번 인덱스, b는 1번 인덱스, c는 2번 인덱스인 각각 배열의 값을 가진다.
2. input.txt 파일 안에 여러 줄에 한개의 값이 있는 경우

const input = require('fs').readFileSync(process.platform === "linux" ? "/dev/stdin" : "./input.txt").toString().trim().split("\n");
const a = parseInt(input[0]); // 12
const b = parseInt(input[1]); // 5
// input.txt
12
5
1번 방법과 다르게 split("\n")으로 개행 기준으로 배열을 반환한다.
[12, 5]가 된 셈이다.
3. input.txt 파일 안에 여러 줄에 여러 값이 있는 경우

const input = require('fs').readFileSync(process.platform === "linux" ? "/dev/stdin" : "./input.txt").toString().trim().split(/\s+/);
const a = parseInt(input[0]);
const b = parseInt(input[1]);
const c = parseInt(input[2]);
// input.txt
14 30
20
split(/\s+/)이 정규식(/ /)을 이용한 모든 공백을 처리하고 연속된 공백을 무시한다.
[14, 30, 20]이 된 것이다.
* 요약
split(" ")는 띄어쓰기 공백
split("\n")은 개행 공백
split(/\s+/) 연속되는 모든 공백
을 배열로 전환한다.
'Etc' 카테고리의 다른 글
| 사이드 프로젝트 - 애니메이션 컴포넌트 구현 (0) | 2024.12.19 |
|---|---|
| 사이드 프로젝트 기획 (Figma) (0) | 2024.12.18 |
| 백준 JavaScript 입력받기 (0) | 2024.11.21 |
| React 사용 필수 extension ES7+ React/Redux/React-Native snippets (0) | 2024.10.25 |
| Elastic UI (0) | 2024.10.23 |