/PDAlgorithm

An algorithm study using C during 2024 Summer Vacation. PDA-pro, CBNU Software Dept.

Primary LanguageC++

PDAlgorithm

An algorithm study using C during 2024 Summer Vacation. PDA-pro, CBNU Software Dept.

⭐스터디 기간⭐

2024.07.01. ~ 2024.08.28.

매주 수요일 22시

진행방식💻

  • 22시
    • 매주 최소 7문제를 풀고, 한 사람씩 돌아가면서 자신이 맡은 문제의 코드와 풀이 방식을 설명하고 질의응답. 한 사람당 최대 10분.
  • 휴식
  • 23시
    • 해당주에 정한 알고리즘 이론을 발표 및 같이 공부하며, 모범 코드를 보며 실제로 어떻게 코드를 짜야 하는지 공부함.
      • 마치기 전 다음주 과제로 풀어올 5문제를 1인당 1문제씩 배정

🤖 스터디 멤버

dolphin1404 Jhwan02 GamGomYang joehyun000







🔍참여 방법🔍

  1. 이 저장소를 fork 한다.
  2. 생성된 저장소에 매 주, week*/Github ID로 폴더를 생성한다.
  3. 알고리즘 풀이 후 원본 저장소에 PR를 보낸다.

📁 Repository 폴더 구조

{주차}/{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주

|

⚠️ commit 컨벤션

{태그}: {클래스 이름(플랫폼_문제 번호_문제 제목)} {커밋 메시지}
  • 플랫폼에 따라 없는 내용은 생략 가능
  • 💡 예시: ✨feat: PGS_다트_게임 알고리즘 구현

플랫폼

플랫폼 태그
백준 BOJ
프로그래머스 PGS
리트코드 LTC

이모지 및 태그

  • 이모지는 선택에 따라 활용한다.
이모지 태그 설명
feat 새로운 기능 추가
🐛 fix 버그 수정
♻️ refactor 코드 리팩토링
✏️ comment 주석 추가(코드 변경 X) 혹은 오타 수정
📝 docs README와 같은 문서 수정
🔀 merge merge
🚚 rename 파일, 폴더명 수정 혹은 이동

⚠️ PR 규칙

[날짜] {플랫폼 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는 다음 레포지토리를 참고해서 제작하였습니다.