자바스크립트를 이용한 알고리즘 스터디
-
repository fork
-
브랜치 생성
git checkout -b <branch_name>
❓ Q&A
Q1: fork 했는데 그냥 브랜치 안 만들고 해도 되나요?
A1: 안됩니다.Q2: 브랜치 왜 만드는데요?
A2: 충돌 방지와 본인 파일만 따로 관리하기 위해 만듭니다.⚠️ 주의사항
❌ 브랜치에서 절대sync fork
및git pull
금지 ❌ -
만든 브랜치를 remote repository에 등록
git push -u origin <branch_name>
-
푼 문제를 1️⃣ 본인 이름의 폴더에 넣고, 2️⃣ convention에 맞춰 commit
-
제출 기한까지 본인의 브랜치를 convention에 맞춰 PR
📅 제출 기한 : 매주 토요일 23시 59분 59초
💸 벌금 : 5000원 -
주 마다 대면/비대면으로 코드리뷰를 진행
대면 시 : 문제와 함께 본인의 코드를 설명. (문제마다 사다리타기로 진행자 결정)
비대면 시 : PR에 문제별로 본인의 코드를 설명.
- 문제 선정
문제 선정의 경우 스터디장(Hosung99) 이 선정합니다.
좋은 문제나, 풀고싶은 문제가 있을 경우 신청하시면 반영해드립니다.
주로 바킹독 문제집 을 참고하여 선정할 예정입니다.
주차마다 필요한 알고리즘이 있으므로 해당 주차의 바킹독 영상을 보시면 해당 알고리즘을 이해하기 편할 것 같습니다.
스터디의 주 목적은 알고리즘의 대한 이해 보단 자바스크립트로 문제를 어떻게 풀지 공부하기 위해 만들어졌습니다.
- 기본 입출력
자바스크립트의 기본 입출력은 크게 fs, readline모듈로 나뉘는데 통일성을 위해 효율이 높은 fs모듈 사용을 권장합니다.
추가적인 정보는 해당 링크를 참조하시면 좋을 것 같습니다.
const fs = require('fs');
// TODO: 백준 제출 시 경로 변환 필수 ("/dev/stdin")
const input = fs.readFileSync('test.txt').toString().trim().split('\n');
// js파일과 같은 경로 상에 test.txt를 만들고 입력값을 넣는다.
// 풀이
function solution(arr) {
const [a, b] = arr[0].split(' ');
return Number(a) + Number(b);
}
console.log(solution(input));
<tag>: <problem_name>
-
문제별로 각각 commit
-
tag는 소문자로 작성
tag 설명 feat 문제 제출 fix 틀린 문제 수정 refactor 맞은 문제 리팩토링 style formatting, missing semi colons 등 docs documentation chore move or rename resources, maintain merge merge
[<week>] <이름>
-
PR 제목은 모두 소문자로 작성
-
해당하는 요일의 라벨을 함께 달아주세요!
주차 | 주제 | 문제 | 난이도 |
---|---|---|---|
week01 | 간단한 입출력 | ||
카드 역배치 | |||
별찍기9 | |||
애너그램 만들기 | |||
방 번호 | |||
week02 | 다이나믹 프로그래밍 | ||
1로 만들기 | |||
가장 긴 증가하는 부분 수열 | |||
쉬운 계단 수 | |||
포도주 시식 | |||
징검다리 건너기 | |||
week03 | 이분 탐색 | ||
수 찾기 | |||
과자 나눠주기 | |||
나무 자르기 | |||
용액 | |||
week04 | 백트래킹 | ||
N과 M (1) | |||
N과 M (12) | |||
암호 만들기 | |||
비숍 | |||
week05 | BFS | ||
그림 | |||
안전 영역 | |||
연구소 | |||
벽 부수고 이동하기 | |||
week06 | 그리디 | ||
주유소 | |||
주식 | |||
신입사원 | |||
멀티탭 스케줄링 | |||
week07 | 자료구조 | ||
요세푸스 문제 | |||
N번째 큰 수 | |||
생태학 | |||
괄호의 값 | |||
week08 | 구현 | ||
오목 | |||
치킨 배달 | |||
빗물 | |||
사다리타기 | |||
week09 | 누적합 | ||
2차원 배열의 합 | |||
출석체크 | |||
피아노 체조 | |||
점수따먹기 | |||
week10 | 문자열 | ||
크로아티아 알파벳 | |||
한국이 그리울 땐 서버에 접속하지 | |||
ZOAC | |||
IPv6 |
손성호 |
정지선 |
함지현 |
ISFP | ISFP | ESTP |