파이썬 쓸때는 몰랐다... 백준이 얼마나 소중한지...
물론 프로그래머스가 있고, UI나 환경 같은게 더 좋긴 하지만
길게 봤을 때 코딩테스트나 알고리즘을 공부하면서 백준을 빼놓을 순 없겠더라
백준은 node js 언어로 선택 후 입력을 따로 처리해야하기에 굉장히 까다로운데
문제 풀때마다 좀 편하게 찾고자 미리 정리해둬야겠다.
입력 방법이 크게 두 가지가 있는 걸로 알고있는데, 그냥 깔끔하게 쓸수 있는게 최고인것 같.. 크흠
1. 하나의 값을 입력받을 때
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim();
2. 공백으로 구분된 한 줄의 값들을 입력받을 때
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split(" ");
3. 여러 줄의 값들을 입력받을 때
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
4. 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄에 공백으로 구분된 n개의 값들을 입력받을 때
const fs = require('fs');
const [n, ...arr] = fs.readFileSync("/dev/stdin").toString().trim().split(/\s/);
5. 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄부터 n개의 줄에 걸쳐 한 줄에 하나의 값을 입력받을 때
const fs = require('fs');
const [n, ...arr] = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
6. 하나의 값 또는 공백으로 구분된 여러 값들을 여러 줄에 걸쳐 뒤죽박죽 섞여서 입력받을 때
ex) n 입력 - 공백으로 구분된 n개의 값 입력 - m 입력 - 여러 줄에 걸쳐 m개의 값 입력
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split(/\s/);
const n = input[0];
const n_arr = input.slice(1, n+1);
const [m, ...m_arr] = input.slice(n+1);
출처 : https://judahhh.tistory.com/39
크게 이 정도인듯. 입력값의 타입은 그때그때 변환하거나 맵 함수를 사용하면 될듯 하다.
입력만 받을 수 있으면 어떻게든 할 수 있을 것이다.
끗
'개발바닥' 카테고리의 다른 글
[React] #2. useEffect를 이용해 Life Cycle 제어하기 (1) | 2023.11.24 |
---|---|
[Python] 파이썬 Capitalize()와 title() ( upper(), lower() ) (0) | 2023.09.28 |
시간복잡도란? (Big O 표기법) (0) | 2023.08.02 |
[React] 개발 환경 설정 (0) | 2023.07.31 |