코딩 테스트 준비를 위한 스터디의 공용 리포지토리입니다.
- 기간: 2024년 5월 27일 ~ 모두가 취업할 때까지
- 일정: 주 4회 예정, 최소 주 2회 이상 참석
- 코어 타임: 월요일, 화요일, 수요일
- 문제 발표: 목요일
- 오후 3시 ~ 오후 6시 (변경될 수도 있음)
- 사용 사이트: 프로그래머스 / 백준
- 언어: 가능한 한 자바스크립트
| 전진영 | 한서흔 | 김선구 | 박주철 | 강은화 |
- 스프레드시트 문제 모음에서 각 주차별 문제를 찾아 해결합니다.
- 일주일에 1단계는 5문제, 2단계는 5문제(하루 각각 1문제) 푸는 걸 목표로 합니다.
- 프로그래머스 코딩테스트 고득점 Kit에서 풀이한 문제는 제외입니다.
- 문제는 최대한 노력해서 해결합니다.
- 만약 문제를 해결하지 못했을 경우에는 인터넷 검색 혹은 LLM의 힘을 빌립니다.
- 그런 다음, 알고리즘과 문제 해결을 이해하고 문제 해결을 풀이하는 글을 마크다운(.md) 혹은 블로그에 작성해둡니다.
- 별개로, 해결한 문제에 대한 풀이는 마크다운(.md) 혹은 블로그에 가능한 한 작성해둡니다. (선택형)
- 해결한 문제의 코드는 양식에 맞추어서 리포지토리에 올려둡니다.
- 문제를 해결하는 동안 화면 공유 혹은 카메라를 최대한 켜둡니다. (마이크와 사운드는 OFF 가능)
- 불참시에는 보이스 혹은 채팅으로 다른 분들께 미리 알려주세요!
- 매주 목요일은 문제를 발표하는 날입니다.
- 각자 최소 1문제 이상 발표를 목표로 합니다.
- 자신이 풀이한 문제를 이해한 상태에서 발표를 진행해야 합니다.
- 발표 순서와 발표할 문제는 무작위로 선정합니다.
문제 발표는 문제 당 10분 이내로 진행합니다. 너무 길어지면 3시간을 넘길수도 있으니 주의합시다.
제대로 이해하지 못한 상태에서 발표를 진행할 경우, 중단하고 다음 시간에 다시 한 번 더 발표를 진행합니다.
- 문제 리뷰에 앞서 해당 문제의 알고리즘 개념을 설명합니다. (선택형)
- 문제 풀이에 대한 접근 방식을 설명합니다. (선택형)
- 너무 길지 않게, 문제 해결에 사용된 코드에 대한 설명을 진행합니다.
- 시간 복잡도 및 공간 복잡도 계산을 진행합니다. 단, 어려울 경우 실행 시간 캡쳐를 보여줍니다.
- 사용한 라이브러리가 있을 경우 어떤 라이브러리이고, 어떤 원리인지 설명합니다. (선택형)
- 사족(덧붙이고 싶은 말, 문제 풀이에서 힘들었던 부분, 실패한 코드 등등)이 있을 경우 추가적으로 설명합니다.
- 발표가 끝난 뒤 코드 및 알고리즘에 대한 Q&A를 진행합니다.
- 폴더명에 포함된 '문제명'은 프로그래머스 혹은 백준의 공식 문제 명칭을 기준으로 합니다.
- 플랫폼 약어
BOJ = 백준PGS = 프로그래머스
- 세팅 방법
DevBob-Study리포지토리에서 개인영문명 브랜치를 생성합니다.- 해당 개인영문명 브랜치에서 각 주차별 폴더로 이동합니다.
- 주차별 폴더 안에 본인 이름으로 폴더를 생성합니다.
- 그리고 본인 이름 폴더 안에 '[레벨단계] 문제명'으로 JS 파일을 생성하고 코드를 작성합니다.
- 생성 예시
- 7주차/홍길동/[LV1] 짝수와 홀수.js
- 10주차/홍길순/[LV2] [1차] 캐시.js
- main 브랜치 내용 가져오기
- DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴
Sync fork를 누릅니다. - 그리고
Update branch를 눌러 갱신을 진행합니다. - 로컬 브랜치에 대한
Pull작업은 이러한 갱신 이후에 합니다.
- DevBob-Study의 main 브랜치에 있는 내용을 가져오려면, main 브랜치의 갱신 이후 우측 상단에 생긴
- 문제 해결이 부분적으로든 전체적으로든 완료되었으면 DevBob-Study의 main 브랜치로 아래의 PR 규칙에 맞게 PR 요청을 해주세요.
구버전 세팅 방법
- 세팅 방법
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
- 프로그래밍 입문자와 프론트엔드 취준생을 위한 컨텐츠 모음
💾 [7주차 ~ 이후] 프로그래머스 - 1~2단계 문제
- 7주차부터는 프로그래머스 1~2단계 문제를 풀기로 합의
- 아래의 스프레드시트 문제 모음에서 각 주차에 맞는 문제를 풀기
- 스프레드시트 문제 모음
💾 [6주차] 프로그래머스 - 코딩테스트 고득점 Kit 3단계
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| 해시 | 베스트앨범 | 3 | https://school.programmers.co.kr/learn/courses/30/lessons/42579 |
| 힙(Heap) | 디스크 컨트롤러 | 3 | https://school.programmers.co.kr/learn/courses/30/lessons/42627 |
| 힙(Heap) | 이중우선순위큐 | 3 | https://school.programmers.co.kr/learn/courses/30/lessons/42628 |
| 탐욕법(Greedy) | 섬 연결하기 | 3 | https://school.programmers.co.kr/learn/courses/30/lessons/42861 |
| 탐욕법(Greedy) | 단속카메라 | 3 | https://school.programmers.co.kr/learn/courses/30/lessons/42884 |
💾 [5주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| 탐욕법(Greedy) | 구명보트 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42885 |
| 탐욕법(Greedy) | 조이스틱 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42860 |
| 탐욕법(Greedy) | 큰 수 만들기 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42883 |
| 깊이/너비 우선 탐색(DFS/BFS) | 타겟 넘버 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/43165 |
| 깊이/너비 우선 탐색(DFS/BFS) | 게임 맵 최단거리 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/1844 |
💾 [4주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| 완전탐색 | 소수 찾기 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42839 |
| 완전탐색 | 카펫 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42842 |
| 완전탐색 | 피로도 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/87946 |
| 완전탐색 | 전력망을 둘로 나누기 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/86971 |
| 완전탐색 | 모음사전 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/84512 |
💾 [3주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
| 알고리즘 | 문제 | 레벨 | URL |
|---|---|---|---|
| 스택/큐 | 다리를 지나는 트럭 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42583 |
| 스택/큐 | 주식가격 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42584 |
| 힙(Heap) | 더 맵게 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42626 |
| 정렬 | 가장 큰 수 | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42746 |
| 정렬 | H-Index | 2 | https://school.programmers.co.kr/learn/courses/30/lessons/42747 |
💾 [2주차] 프로그래머스 - 코딩테스트 고득점 Kit 2단계
💾 [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 |