자바스크립트 코딩테스트를 뽀개기 위한 레포지토리입니다.
부트캠프 일정에 무리가 가지 않는 선에서 각자 꾸준히 알고리즘 문제를 푸는 것을 목표로 합니다.
백준 단계별로 풀어보기(https://www.acmicpc.net/step) 10단계부터 매주 한단계씩 뽀갭니다.
- 월요일: 그 주에 뽀갤 단계에서 5문제를 함께 선정하고, 각자 랜덤으로 한 문제를 담당합니다.
- 월요일 ~ 금요일: 5문제를 뽀갭니다. 자신이 담당한 문제는 다른 사람들이 코드만 보고도 이해할 수 있도록 꼼꼼하게 주석을 작성합니다. 구글링을 해서 다른 사람의 답을 참고해도 좋습니다다. 다만, 이후에 해당 코드를 보고도 풀이 방법을 이해하지 못하는 사람이 직접 찾아온다면 언제든지 설명해줄 수 있어야 합니다.
- 토요일: 자정까지 자신의 풀이를 레포지토리에 업로드합니다. 폴더구조는 아래 이미지를 참고합니다. 별도의 코드리뷰 없습니다. 각종 컨벤션 및 규칙 없습니다.
- 하나의 값을 입력받을 때
const input = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.toString()
.trim();
- 공백으로 구분된 한 줄의 값들을 입력받을 때
const input = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.toString()
.trim()
.split(' ');
- 여러 줄의 값들을 입력받을 때
const input = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.toString()
.trim()
.split('\n');
- 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄에 공백으로 구분된 n개의 값들을 입력받을 때
const [n, ...arr] = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.toString()
.trim()
.split(/\s/);
- 첫 번째 줄에 자연수 n을 입력받고, 그 다음줄부터 n개의 줄에 걸쳐 한 줄에 하나의 값을 입력받을 때
const [n, ...arr] = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.toString()
.trim()
.split('\n');
- 하나의 값 또는 공백으로 구분된 여러 값들을 여러 줄에 걸쳐 뒤죽박죽 섞여서 입력받을 때 // ex) n 입력 - 공백으로 구분된 n개의 값 입력 - m 입력 - 여러 줄에 걸쳐 m개의 값 입력
const input = require('fs')
.readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt')
.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://overcome-the-limits.tistory.com/25
❗️ IDE에서 JS파일과 같은 디렉토리의 index.txt를 통해 입력을 받아 출력을 테스트해볼 수 있습니다 ❗️
https://www.notion.so/c4945b3675b34c9c83ef8ca05f8df98f
커넥투 자체 코딩테스트 관련 토론의 장을 열어드립니다.
자신은 문제를 어떻게 이해했는지, 어떤 방법으로 풀었는지, 코너케이스는 무엇인지 등 가벼운 주제부터 코드 공유 및 코드 리뷰까지 모두 환영합니다.