Javascript 코딩테스트 테스트케이스 입출력 코드 (소프티어, 백준)

chxxrin·2025년 2월 3일
0

CodingTest

목록 보기
1/1
const fs = require('fs');
const inputFile = fs.readFileSync('/dev/stdin', 'utf8').trim()

입력 구조에 따라서 .split()과 .map()을 사용하면 된다!

입력예시1 : 첫번째 줄은 테스트케이스, 나머지 줄은 한줄에 하나씩 있는 입력값

3
12
1
5
const fs = require('fs');
const inputFile = fs.readFileSync('/dev/stdin', 'utf8').trim().split('\n').map(Number);
const [T, ...input] = inputFile; // 구조분해할당
  1. fs
  2. inputFile
  3. 구조분해할당으로 테스트케이스와 나머지값들을 나눠서 배열로 저장

입력예시2 : 첫번째 줄은 테스트케이스, 나머지 줄은 한줄에 두개 이상씩 있는 입력값

4
10 5
6 3
3 2
4 2

이런형식이면

const fs = require("fs");
const inputFile = fs.readFileSync("/dev/stdin", "utf8").trim().split("\n");

입력예시3 : 한 줄에 입력값이 2개

3500 2000
const fs = require("fs");
const inputFile = fs.readFileSync("/dev/stdin", "utf8").trim().split(" ");
const [A, B] = inputFile.map(Number);
  • 주의: inputFile로 들어가면 문자열이 되므로 입력값을 숫자로 변환해줘야 크기비교가 가능하다!

입력예시4 :

5
1 3 5 8 10

만약 첫 번째 줄에 테스트케이스, 두 번째 줄에 한줄로 쭉 입력값이 있다면
1. 구조분해할당으로 첫 번째 줄과 두 번째 줄을 나누기
2. 테스트케이스를 숫자로 변환하기
3. 문자열을 공백을 기준으로 나누고 다시 각 요소를 숫자로 변환하기

const fs = require("fs");
const inputFile = fs.readFileSync("/dev/stdin", "utf8").trim().split("\n");

let [n, input] = inputFile; // 구조 분해 할당
n = parseInt(n); // 숫자로 변환
input = input.split(" ").map(Number); // 문자열을 공백 기준으로 나누고, 각 요소를 숫자로 변환

만약 입력이 여러줄이면서 모두 Number로 바꾸고 싶다면

const fs = require('fs');
const inputFile = fs.readFileSync('/dev/stdin', 'utf8').trim().split('\n').map(v => v.split(' ').map(Number));

출처 : https://yunicornlab.tistory.com/18

0개의 댓글

관련 채용 정보