코딩 테스트 준비를 위한 스터디의 공용 리포지토리입니다.
- 기간: 2024년 5월 27일 ~ 모두가 취업할 때까지
- 일정: 주 4회 예정, 최소 주 2회 이상 참석
- 문제 해결: 월요일, 화요일, 수요일
- 문제 발표: 목요일
- 오후 3시 ~ 오후 6시 (변경될 수도 있음)
- 사용 사이트: 프로그래머스 / 백준
- 언어: 가능한 한 자바스크립트
| 전진영 | 한서흔 | 김선구 | 이준영 | 박주철 | 강은화 | 조윤서 |
- 프로그래머스 코딩테스트 고득점 Kit의 종류별 1단계 문제를 해결합니다.
- 문제를 해결하지 못했을 경우에는 인터넷 검색 혹은 LLM의 힘을 빌립니다.
- 그런 다음, 알고리즘과 문제 해결을 이해하고 문제 해결을 풀이하는 글을 마크다운(.md) 혹은 블로그에 작성해둡니다.
- 별개로, 해결한 문제에 대한 풀이는 마크다운(.md) 혹은 블로그에 가능한 한 작성해둡니다. (선택형)
- 해결한 문제의 코드는 양식에 맞추어서 리포지토리에 올려둡니다.
- 문제를 해결하는 동안 화면 공유 혹은 카메라를 켜둡니다. (마이크와 사운드는 OFF 가능)
- 불참시에는 보이스 혹은 채팅으로 다른 분들께 미리 알려주세요!
- 매주 목요일은 문제를 발표하는 날입니다.
- 각자 최소 1문제 이상 발표를 목표로 합니다.
- 자신이 풀이한 문제를 이해한 상태에서 발표를 진행해야 합니다.
- 첫주의 경우, 모든 게 모호한 상황이므로 수요일 막바지에 뽑기로 각 1단계 문제별로 발표할 사람을 정합니다.
- 목요일 발표 전까지 PR을 완료합시다.
- 매주 순서대로 상대방의 코드를 확인합니다.
- 확인 후 상대방의 코드에 반응 혹은 피드백하고 PR을 머지합니다.
- 피드백 순서 스프레드시트 바로가기
문제 발표는 문제 당 10분 이내로 진행합니다. 너무 길어지면 3시간을 넘길수도 있으니 주의합시다.
제대로 이해하지 못한 상태에서 발표를 진행할 경우, 중단하고 다음 시간에 다시 한 번 더 발표를 진행합니다.
- 문제 리뷰에 앞서 해당 문제의 알고리즘 개념을 설명합니다.
- 문제 풀이에 대한 접근 방식을 설명합니다. (선택형)
- 너무 길지 않게, 문제 해결에 사용된 코드에 대한 설명을 진행합니다.
- 시간 복잡도 및 공간 복잡도 계산을 진행합니다. 단, 어려울 경우 실행 시간 캡쳐를 보여줍니다.
- 사용한 라이브러리가 있을 경우 어떤 라이브러리이고, 어떤 원리인지 설명합니다. (선택형)
- 사족(덧붙이고 싶은 말, 문제 풀이에서 힘들었던 부분, 실패한 코드 등등)이 있을 경우 추가적으로 설명합니다.
- 발표가 끝난 뒤 코드 및 알고리즘에 대한 Q&A를 진행합니다.
- 폴더명에 포함된 '문제명'은 프로그래머스 혹은 백준의 공식 문제 명칭을 기준으로 합니다.
- 플랫폼 약어
BOJ = 백준PGS = 프로그래머스
- 세팅 방법
DevBob-Study리포지토리를 포크(Fork)합니다.- 포크한 리포지토리를 에디터에 클론(Clone)합니다.
main브랜치에서 문제별 폴더로 이동합니다.- 폴더 안에 본인 영문명으로 JS 파일을 생성하고 코드를 작성합니다.
- main 브랜치 내용 가져오기
- DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴
Sync fork를 누릅니다. - 그리고
Update branch를 눌러 갱신을 진행합니다. - 로컬 브랜치에 대한
Pull작업은 이러한 갱신 이후에 합니다.
- DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴
- 문제 해결이 부분적으로든 전체적으로든 완료되었으면 DevBob-Study의 main 브랜치로 아래의 PR 규칙에 맞게 PR 요청을 해주세요.
- 기본적으로 쓰이는 '기본 Commit'과 기존 코드를 개선했을 경우 사용하는 '수정 Commit'이 나뉘어져 있습니다.
- 소요 시간 측정이 불가능하거나 실패한 경우에는
??h ??m을 사용합니다.
해당 주차 / [플랫폼 약어] 문제명 / 소요 시간
git commit -m "해당 주차 / [플랫폼 약어] 문제명 / 소요 시간(시간h 분m)"
- 예시 1) 1주차 / [BOJ] 가장 긴 증가하는 부분 수열 5 / 2m
- 예시 2) 3주차 / [BOJ] 알고리즘 수업 - 너비 우선 탐색 2 / 2h 30m
- 예시 3) 6주차 / [PGS] 수박수박수박수박수박수? / 30m
- 예시 4) 9주차 / [PGS] [1차] 비밀지도 / ??h ??m
해당 주차 / [FIXED][플랫폼 약어] 문제명 / 소요 시간
git commit -m "해당 주차 / [FIXED][플랫폼 약어] 문제명 / 소요 시간(시간h 분m)"
- 예시 1) 1주차 / [FIXED][BOJ] 가장 긴 증가하는 부분 수열 5 / 2m
- 예시 2) 3주차 / [FIXED][BOJ] 알고리즘 수업 - 너비 우선 탐색 2 / 2h 30m
- 예시 3) 6주차 / [FIXED][PGS] 수박수박수박수박수박수? / 30m
- 예시 4) 9주차 / [FIXED][PGS] [1차] 비밀지도 / ??h ??m
한꺼번에 보내기: 해당 주차 [플랫폼 약어] 개인이름-행위
개별로 보내기: 해당 주차 [플랫폼 약어] 문제명 개인영문이름-행위
- 예시 1) 1주차 [BOJ] 홍길동-제출
- 예시 2) 3주차 [PGS] 김영희-수정
- 예시 3) 6주차 [BOJ] 수박수박수박수박수박수? gilsoon-수정
- 예시 4) 9주차 [PGS] [1차] 비밀지도 cheolsu-오류
해당 주차/플랫폼 약어_문제명/개인영문이름.js
- 예시 1) 1주차/BOJ_가장 긴 증가하는 부분 수열 5/gildong.js
- 예시 2) 3주차/BOJ_알고리즘 수업 - 너비 우선 탐색 2/younghee.js
- 예시 3) 6주차/PGS_수박수박수박수박수박수?/gilsoon.js
- 예시 4) 9주차/PGS_[1차] 비밀지도/cheolsu.js
- 플랫폼과 문제 명칭을 잘못 적어서 다른 폴더에 파일이 들어가지 않도록 주의합시다.
- 자바스크립트 코딩 테스트의 소소한 팁
- 자바스크립트로 코딩 테스트를 준비하면서 알게된 팁
- 재미삼아 하는 자바스크립트 지식 질문 - KR
- 프로그래밍 입문자와 프론트엔드 취준생을 위한 컨텐츠 모음
💾 [1주차] 프로그래머스 - 코딩테스트 고득점 Kit 1단계
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| 해시 | 폰켓몬 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/1845 |
| 해시 | 완주하지 못한 선수 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/42576 |
| 스택/큐 | 같은 숫자는 싫어 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/12906 |
| 정렬 | K번째수 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/42748 |
| 완전탐색 | 최소직사각형 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/86491 |
| 완전탐색 | 모의고사 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/42840 |
| 탐욕법(Greedy) | 체육복 | 1 | https://school.programmers.co.kr/learn/courses/30/lessons/42862 |
💾 [2주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
💾 [3주차] 프로그래머스 - ???
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| ??? | ??? | 2 | ??? |