An algorithm study using C during 2024 Summer Vacation. PDA-pro, CBNU Software Dept.
- 22시
- 매주 최소 7문제를 풀고, 한 사람씩 돌아가면서 자신이 맡은 문제의 코드와 풀이 방식을 설명하고 질의응답. 한 사람당 최대 10분.
- 휴식
- 23시
- 해당주에 정한 알고리즘 이론을 발표 및 같이 공부하며, 모범 코드를 보며 실제로 어떻게 코드를 짜야 하는지 공부함.
-
- 마치기 전 다음주 과제로 풀어올 5문제를 1인당 1문제씩 배정
dolphin1404 | Jhwan02 | GamGomYang | joehyun000 |
|
- 이 저장소를
fork
한다. - 생성된 저장소에 매 주,
week*/Github ID
로 폴더를 생성한다. - 알고리즘 풀이 후 원본 저장소에
PR
를 보낸다.
{주차}/{Github ID}/{코드.c}
- 💡 예시:
week4/dolphin1404/BOJ_11053.c
주차 | 주제 |
---|---|
1 (07/01 ~ 07) | 수학 (합공식/피보나치수/약수/최대공약수/최소공배수/소수) :: 이규민 수업자료 문제집 |
2 (07/08 ~ 14) | 자료구조 (스택/큐/덱/힙) :: 윤준현 수업자료 문제집 |
3 (07/15 ~ 21) | 재귀함수의 이해 & 여러 가지 정렬 :: 이규민 수업자료 문제집 |
4 (07/22 ~ 28) | 다이나믹 프로그래밍 (DP) :: 신종환 수업자료 문제집 |
5 (07/29 ~ 04) | 그래프 이론과 구현 (1) & DFS와 BFS 기초 :: 박조현 수업자료 문제집 |
6 (08/05 ~ 11) | 그래프 이론과 구현 (2) & DFS와 BFS 응용 & 다익스트라 알고리즘 :: 김금영 수업자료 |
7 (08/12 ~ 18) | 분할정복 & 이분탐색 :: 박승준 수업자료 |
8 (08/19 ~ 25) | 그리디 알고리즘 :: 우태현 수업자료 |
9 (08/26 ~ 01) | 완전탐색(Brute Force) & 시뮬레이션 수업자료 |
10 | 종강 |
1 | 2 | 3 | 4 | 5 | 1일1백준 | |
---|---|---|---|---|---|---|
1주 | 소수 찾기 | 소인수 분해 | 부분수열의 합 | 골드바흐의 추측 | 숨바꼭질 6 | 좌표 정렬하기🥈 듣보잡🥈 |
2주 | 후위 표기식2 | 큐 | 프린터 | 요세푸스 문제 0 | 더 맵게 | 카드🥈 지영 공주님의 마법 거울🥉 |
3주 | 하노이 탑 | 별 찍기 - 10 | 절댓값 힙 | 좌표 압축 | 시리얼 번호 | 수 찾기🥈 로또🥈 |
4주 | 정수 삼각형 | 포도주 시식 | 가장 긴 증가하는 부분 수열 | 2xn 타일링 2 | 이친수 | 연속합🥈 1로 만들기🥈 |
5주 | 트리 순회 | 순열 사이클 | 결혼식 | 단지번호 붙이기 | 섬의 개수 | DFS와 BFS 연결 요소의 개수 |
6주 | 토마토 | 미로 탐색 | 적록색약 | 스타트링크 | 최소비용 구하기 | 토마토 녹색 옷 입은 애가 젤다지? |
7주 | 색종이 만들기 | 별 찍기 - 11 | 종이의 개수 | 예산 | 공유기 설치 | 두 용액 쿼드트리 |
8주 | 병든 나이트 | 주식 | 신입 사원 | 통나무 건너뛰기 | 큰 수 만들기 | 체육복 최고의 피자 |
9주 | 도영이가 만든 맛있는 음식 | 소수 찾기 | 카펫 | 후보 추천하기 | 감시 | 단어 뒤집기 2 뱀 |
10주 |
|
{태그}: {클래스 이름(플랫폼_문제 번호_문제 제목)} {커밋 메시지}
- 플랫폼에 따라 없는 내용은 생략 가능
- 💡 예시:
✨feat: PGS_다트_게임 알고리즘 구현
플랫폼 | 태그 |
---|---|
백준 | BOJ |
프로그래머스 | PGS |
리트코드 | LTC |
- 이모지는 선택에 따라 활용한다.
이모지 | 태그 | 설명 |
---|---|---|
✨ | feat | 새로운 기능 추가 |
🐛 | fix | 버그 수정 |
♻️ | refactor | 코드 리팩토링 |
✏️ | comment | 주석 추가(코드 변경 X) 혹은 오타 수정 |
📝 | docs | README와 같은 문서 수정 |
🔀 | merge | merge |
🚚 | rename | 파일, 폴더명 수정 혹은 이동 |
[날짜] {플랫폼 or 언어} {문제 제목} - {기타 내용}
- 💡 예시:
[240701][BOJ]PGS 다트 게임 - 1문제
-
수업 자료 PPT에 있는 문제들을 가급적 다 풀 수 있도록 노력합니다.
-
만약 시간이 모자라는 등의 이유로 풀 수 없었다면, 최소한 1주에 주어지는 문제 7개는 다 풀어야 합니다.
- 발표자는 당연히 배정받은 문제를 풀어야 하며, 다른 사람들도 모두 같은 문제를 풉니다.
-
해당 주차의 폴더 밑의 study 폴더는 스터디 리더의 수업 자료와 예제 코드가 들어 있는 폴더이므로 복습에 참고하시기를 바랍니다.
-
발표 문제로 나온 문제들은 해당 주차 폴더/자신의 이름 폴더 밑에 문제번호.c로 이름을 정해주세요.
- 예시: 이규민이 4주 발표 숙제로 11053번을 풀었다면, week4/dolphin1404 위치에 11053.c로 소스코드를 저장해 커밋하면 됩니다.
-
커밋하고 푸시하기 전에 항상 pull을 먼저 해주시기 바랍니다. 충돌을 방지하기 위함입니다.
-
문제가 7개인 것은 하루에 한 문제씩 꼭 풀어보시라고 7문제를 선정한 것입니다.
- 물론 더 푸시면 좋습니다. 200문제 이하에서는 양치기도 중요합니다.
- 더 풀어보실 만한 문제는 이 문서 상단의 '주제와 문제집' 표의 해당 주차의 문제집을 참고하시면 됩니다.
-
문제 풀이 발표 시간에는
- (1) 문제 번호
- (2) 어떤 자료구조/알고리즘을 써야하는지
- (3) 문제의 어떤 부분을 잘 읽어야 하는지 -> 문제의 실마리 잡기
- (4) 코드의 시간복잡도
- (5) 코드의 공간복잡도 를 중심으로 설명합니다.
해당 README는 다음 레포지토리를 참고해서 제작하였습니다.