WEEK01 - Day 07

Junyeong Fred Kim·2021년 11월 8일
0

Algorithm

목록 보기
1/17
post-thumbnail

알고리즘 시작한지 5일

정글에 들어오고, 이번 주가 그래도 가장 널널할 것 같다는(?) 잘못된 생각을 가지고 잠시 본가에 다녀왔다. 크나큰 실수..

기초적인 알고리즘 문제를 끝내고, 맞닥드린 재귀함수..

백준 알고리즘

일단, 백준 알고리즘을 이용하고 있다.
사실, 알고리즘을 공부하게된 것이 처음이라, 많은 것이 생소하면서 문제를 풀면서도 반성을 하게된다.

배운게 javaScript라, 많은 동기분들은 python으로 하는 와중 문법을 언제 익히랴, 부랴부랴 javaScript로 풀게되었다.

일단, 백준 문제 풀이에서 javaScript로 테스트 케이스를 받는 방법은 이렇다.

// 1. 하나의 값을 입력받을 때
const input = require('fs').readFileSync('/dev/stdin').toString().trim();

// 2. 공백으로 구분된 한 줄의 값들을 입력받을 때
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ');

// 3. 여러 줄의 값들을 입력받을 때
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');

// 4. 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄에 공백으로 구분된 n개의 값들을 입력받을 때
const [n, ...arr] = require('fs').readFileSync('/dev/stdin').toString().trim().split(/\s+/);

// 5. 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄부터 n개의 줄에 걸쳐 한 줄에 하나의 값을 입력받을 때
const [n, ...arr] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');

// 6. 하나의 값 또는 공백으로 구분된 여러 값들을 여러 줄에 걸쳐 뒤죽박죽 섞여서 입력받을 때
// ex) n 입력 - 공백으로 구분된 n개의 값 입력 - m 입력 - 여러 줄에 걸쳐 m개의 값 입력
const input = require('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);

// 2~6에서 입력받는 값들을 모두 String에서 Number로 바꾸려면 split()뒤에 .map(v => +v)를 추가

다양한 케이스들이 존재하기에 그때 그때, 다르게 입력받아야한다.

profile
기억보다 기록

0개의 댓글