diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ef2338d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,229 @@ +# 기여 가이드 (Contributing Guide) + +SCLabAlgorithmStudy에 기여해주셔서 감사합니다! 이 문서는 스터디에 참여하고 기여하는 방법을 안내합니다. + +## 📝 풀이 제출 방법 + +### 1. 저장소 포크 및 클론 +```bash +# 저장소 포크 (GitHub 웹사이트에서) +# 포크한 저장소 클론 +git clone https://github.com/your-username/SCLabAlgorithmStudy.git +cd SCLabAlgorithmStudy +``` + +### 2. 브랜치 생성 +```bash +# 주차별 브랜치 생성 +git checkout -b week01/your-name + +# 또는 문제별 브랜치 생성 +git checkout -b problem/two-sum/your-name +``` + +### 3. 풀이 코드 작성 +해당 주차 폴더에 풀이 파일을 생성합니다. + +#### 파일 명명 규칙 +- 형식: `문제번호_문제이름_이름.확장자` +- 예시: + - `1_two_sum_홍길동.py` + - `1874_stack_sequence_김철수.java` + - `42576_unfinished_player_이영희.cpp` + +#### 코드 작성 가이드 +```python +""" +문제: [문제 제목] +플랫폼: [백준/리트코드/프로그래머스] +난이도: [🟢/🟡/🔴] +유형: [자료구조/알고리즘] - [세부 유형] + +문제 설명: +[간단한 문제 설명] + +접근 방법: +[풀이 아이디어] + +시간 복잡도: O(?) +공간 복잡도: O(?) +""" + +# 코드 작성 +def solution(): + pass + +# 테스트 케이스 +if __name__ == "__main__": + # 테스트 실행 + pass +``` + +### 4. 커밋 및 푸시 +```bash +# 변경사항 스테이징 +git add problems/2025-W01/1_two_sum_홍길동.py + +# 커밋 (명확한 메시지 작성) +git commit -m "Week 01: Add Two Sum solution (홍길동)" + +# 푸시 +git push origin week01/your-name +``` + +#### 커밋 메시지 규칙 +- 형식: `Week XX: [작업 내용] (이름)` +- 예시: + - `Week 01: Add Two Sum solution (홍길동)` + - `Week 01: Fix Stack Sequence bug (김철수)` + - `Week 01: Update problem description (이영희)` + +### 5. Pull Request 생성 +1. GitHub에서 자신의 포크 저장소로 이동 +2. "Compare & pull request" 클릭 +3. PR 제목과 설명 작성 +4. PR 생성 완료 + +#### PR 제목 규칙 +- 형식: `[Week XX] 이름 - 문제 제목` +- 예시: `[Week 01] 홍길동 - Two Sum` + +#### PR 설명 템플릿 +```markdown +## 풀이 정보 +- **주차**: Week XX +- **문제**: [문제 제목] +- **플랫폼**: [백준/리트코드/프로그래머스] +- **난이도**: [🟢/🟡/🔴] +- **언어**: [Python/Java/C++/etc] + +## 접근 방법 +[풀이에 사용한 알고리즘과 아이디어 설명] + +## 시간/공간 복잡도 +- 시간 복잡도: O(?) +- 공간 복잡도: O(?) + +## 특이사항 +[어려웠던 점이나 특별한 최적화 등] + +## 체크리스트 +- [ ] 코드가 정상적으로 실행됨 +- [ ] 주석과 설명이 포함됨 +- [ ] 테스트 케이스 통과 +``` + +## 🔍 코드 리뷰 참여 + +### 리뷰어로서 +1. 다른 사람의 PR에 댓글로 피드백 제공 +2. 개선 가능한 부분 제안 +3. 좋은 접근 방법에 대한 칭찬 + +### 리뷰 포인트 +- ✅ 코드의 정확성 +- ✅ 시간/공간 복잡도 최적화 +- ✅ 코드 가독성 +- ✅ 예외 처리 +- ✅ 다른 접근 방법 제안 + +### 리뷰 예시 +```markdown +좋은 풀이입니다! 몇 가지 제안사항이 있습니다: + +1. 시간 복잡도가 O(n^2)인데, 해시맵을 사용하면 O(n)으로 개선할 수 있습니다. +2. 엣지 케이스(빈 배열, 단일 원소 등) 처리가 필요합니다. +3. 변수명을 좀 더 명확하게 하면 가독성이 좋아질 것 같습니다. + +전체적으로 로직은 명확하고 잘 작성되었습니다! 👍 +``` + +## 📚 새로운 문제 추가 + +### 주차별 문제 추가 +1. 해당 주차 폴더의 `README.md` 수정 +2. `templates/week_template.md`를 참고하여 문제 정보 작성 +3. `PROBLEM_INDEX.md` 업데이트 + +### 문제 선정 기준 +- 난이도 균형: 쉬움 1~2개, 보통 1~2개, 어려움 0~1개 +- 유형 다양성: 다양한 자료구조와 알고리즘 포함 +- 실용성: 실제 코딩 테스트에 자주 나오는 유형 +- 학습 가치: 배울 점이 많은 문제 + +## 📋 문서 개선 + +### README 개선 +- 명확하지 않은 부분 수정 +- 새로운 팁이나 가이드 추가 +- 오타 수정 + +### 템플릿 개선 +- 더 나은 구조 제안 +- 유용한 섹션 추가 + +## 🤝 스터디 운영 + +### 주차별 진행 +1. 매주 월요일: 새로운 문제 공개 +2. 매주 일요일: 풀이 제출 마감 +3. 스터디 미팅: 풀이 공유 및 토론 + +### 참여 방법 +- 정기적인 문제 풀이 참여 +- 코드 리뷰 참여 +- 스터디 미팅 참석 +- 문서 개선 제안 + +## ❓ 질문 및 논의 + +### 이슈 생성 +- 버그 발견 시 +- 새로운 기능 제안 +- 문제에 대한 질문 +- 스터디 운영 관련 논의 + +### 이슈 템플릿 +```markdown +## 이슈 유형 +- [ ] 버그 +- [ ] 기능 제안 +- [ ] 질문 +- [ ] 논의 + +## 설명 +[이슈에 대한 상세 설명] + +## 제안 사항 (해당 시) +[해결 방법이나 개선 아이디어] +``` + +## 🎯 베스트 프랙티스 + +### 코드 작성 +- 명확한 변수명 사용 +- 적절한 주석 추가 +- 테스트 케이스 포함 +- 시간/공간 복잡도 분석 + +### 협업 +- 정중하고 건설적인 피드백 +- 다른 사람의 풀이에서 배우기 +- 자신의 풀이 과정 공유 +- 막힌 부분은 질문하기 + +### 학습 +- 여러 풀이 방법 시도 +- 최적화 고민 +- 관련 개념 정리 +- 유사 문제 탐색 + +## 📞 도움말 + +문의사항이나 도움이 필요하면: +1. 이슈를 통해 질문 남기기 +2. PR에 댓글로 질문하기 +3. 스터디 미팅에서 논의하기 + +--- +감사합니다! Happy Coding! 💻✨ diff --git a/PROBLEM_INDEX.md b/PROBLEM_INDEX.md new file mode 100644 index 0000000..ce55d3b --- /dev/null +++ b/PROBLEM_INDEX.md @@ -0,0 +1,90 @@ +# 문제 인덱스 + +전체 알고리즘 스터디 문제 목록을 일자와 유형별로 정리한 문서입니다. + +## 📅 주차별 문제 목록 + +### 2025년 + +| 주차 | 기간 | 문제 수 | 상태 | 링크 | +|------|------|---------|------|------| +| W01 | 2025-01-01 ~ 2025-01-07 | 4/4 | 📋 진행중 | [바로가기](problems/2025-W01/) | +| W02 | 2025-01-08 ~ 2025-01-14 | 0/4 | 📝 준비중 | [바로가기](problems/2025-W02/) | + +## 🏷️ 유형별 문제 목록 + +### 자료구조 +#### 배열 (Array) +- 준비중 + +#### 스택 (Stack) +- 준비중 + +#### 큐 (Queue) +- 준비중 + +#### 해시 (Hash) +- 준비중 + +#### 힙 (Heap) +- 준비중 + +#### 트리 (Tree) +- 준비중 + +#### 그래프 (Graph) +- 준비중 + +### 알고리즘 +#### 정렬 (Sorting) +- 준비중 + +#### 탐색 (Search) +- 준비중 + +#### 이진탐색 (Binary Search) +- 준비중 + +#### DFS/BFS +- 준비중 + +#### 다이나믹 프로그래밍 (Dynamic Programming) +- 준비중 + +#### 그리디 (Greedy) +- 준비중 + +#### 백트래킹 (Backtracking) +- 준비중 + +### 기타 +#### 문자열 (String) +- 준비중 + +#### 수학 (Math) +- 준비중 + +#### 구현 (Implementation) +- 준비중 + +#### 시뮬레이션 (Simulation) +- 준비중 + +## 📈 통계 + +- **총 문제 수**: 4 +- **해결한 문제**: 0 +- **진행률**: 0% + +### 난이도별 분포 +- 🟢 쉬움: 2개 (Two Sum, 완주하지 못한 선수) +- 🟡 보통: 2개 (스택 수열, 균형잡힌 세상) +- 🔴 어려움: 0개 + +### 플랫폼별 분포 +- 백준(BOJ): 2개 (스택 수열, 균형잡힌 세상) +- 리트코드(LeetCode): 1개 (Two Sum) +- 프로그래머스(Programmers): 1개 (완주하지 못한 선수) + +--- +*마지막 업데이트: 2025-01-01* diff --git a/README.md b/README.md index 087d476..c7f84c8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,113 @@ # SCLabAlgorithmStudy 소프트컴퓨팅 연구실 코딩테스트 대비 알고리즘 스터디 + +## 📌 스터디 개요 +대기업 취업을 목표로 코딩테스트 대비를 위한 알고리즘 스터디입니다. +백준, 리트코드, 프로그래머스 등 알고리즘 사이트에서 문제를 일주일에 3~4문제 출제하고, +이를 일자, 문제 유형 등으로 정리하여 관리합니다. + +## 📚 스터디 규칙 +- **문제 출제**: 매주 3~4개 문제 선정 +- **문제 플랫폼**: 백준(BOJ), 리트코드(LeetCode), 프로그래머스(Programmers) +- **풀이 제출**: 각 주차 폴더에 본인의 풀이 코드 업로드 +- **코드 리뷰**: 서로의 코드를 리뷰하고 피드백 제공 + +## 🗂️ 디렉토리 구조 +``` +SCLabAlgorithmStudy/ +├── README.md # 메인 README 파일 +├── problems/ # 주차별 문제 폴더 +│ ├── 2025-W01/ # 2025년 1주차 문제 +│ │ ├── README.md # 주차별 문제 목록 및 설명 +│ │ ├── problem1_이름.py # 문제 1 풀이 +│ │ ├── problem2_이름.py # 문제 2 풀이 +│ │ └── ... +│ ├── 2025-W02/ # 2025년 2주차 문제 +│ └── ... +├── templates/ # 템플릿 파일 +│ ├── problem_template.md # 문제 문서화 템플릿 +│ └── week_template.md # 주차별 README 템플릿 +└── PROBLEM_INDEX.md # 전체 문제 인덱스 +``` + +## 📋 문제 분류 체계 + +### 문제 유형 +- **자료구조**: 배열, 연결리스트, 스택, 큐, 해시, 힙, 트리, 그래프 +- **알고리즘**: 정렬, 탐색, 이진탐색, DFS/BFS, 다이나믹 프로그래밍, 그리디, 백트래킹 +- **기타**: 문자열, 수학, 구현, 시뮬레이션 + +### 난이도 +- 🟢 **쉬움**: 기본 개념 이해 및 구현 +- 🟡 **보통**: 알고리즘 응용 및 최적화 +- 🔴 **어려움**: 복잡한 알고리즘 및 고급 기법 + +## 🚀 시작하기 + +### 1. 저장소 클론 +```bash +git clone https://github.com/thkyang324/SCLabAlgorithmStudy.git +cd SCLabAlgorithmStudy +``` + +### 2. 주차별 문제 확인 +각 주차 폴더의 `README.md`에서 해당 주의 문제 목록과 링크를 확인합니다. + +### 3. 문제 풀이 +선호하는 언어(Python, Java, C++ 등)로 문제를 해결합니다. + +### 4. 풀이 제출 +```bash +# 브랜치 생성 +git checkout -b week01/your-name + +# 파일 추가 +git add problems/2025-W01/problem1_yourname.py + +# 커밋 +git commit -m "Week 01: Add problem 1 solution" + +# 푸시 +git push origin week01/your-name + +# Pull Request 생성 +``` + +## 📝 문제 추가 가이드 + +### 새로운 주차 추가 +1. `problems/` 폴더에 `YYYY-WXX` 형식으로 새 폴더 생성 +2. `templates/week_template.md`를 참고하여 주차별 README 작성 +3. `PROBLEM_INDEX.md`에 해당 주차 정보 업데이트 + +### 문제 정보 작성 +```markdown +## 문제 1: [문제 제목] +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #1234 +- **링크**: [문제 링크](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: 자료구조 - 스택 +- **설명**: 문제에 대한 간단한 설명 +``` + +## 🤝 기여 방법 +1. 이슈를 통해 새로운 문제 제안 +2. Pull Request를 통한 풀이 공유 +3. 다른 사람의 코드 리뷰 참여 +4. 스터디 자료 및 문서 개선 + +## 📊 진행 상황 +전체 문제 진행 상황은 [PROBLEM_INDEX.md](PROBLEM_INDEX.md)에서 확인할 수 있습니다. + +## 💡 팁 +- 문제를 풀기 전에 시간 복잡도를 먼저 생각해보기 +- 여러 풀이 방법을 고민하고 최적화하기 +- 다른 사람의 코드를 보며 새로운 접근법 배우기 +- 막혔을 때는 힌트를 참고하되, 스스로 해결 시도하기 + +## 📞 연락처 +문의사항이나 제안은 이슈를 통해 공유해주세요! + +--- +**Happy Coding! 💻✨** diff --git a/problems/2025-W01/README.md b/problems/2025-W01/README.md new file mode 100644 index 0000000..91439d2 --- /dev/null +++ b/problems/2025-W01/README.md @@ -0,0 +1,88 @@ +# Week 01 (2025-01-01 ~ 2025-01-07) + +## 📌 이번 주 문제 + +### 문제 1: 두 수의 합 (Two Sum) +- **플랫폼**: 리트코드 +- **문제 번호**: #1 +- **링크**: [문제 링크](https://leetcode.com/problems/two-sum/) +- **난이도**: 🟢 쉬움 +- **유형**: 자료구조 - 해시 +- **설명**: 배열에서 두 수를 더해 목표값을 만드는 인덱스를 찾는 문제 + +#### 핵심 포인트 +- 해시맵을 활용한 O(n) 시간 복잡도 구현 +- 중복 체크 및 동일 원소 두 번 사용 방지 + +#### 참고 자료 +- [해시테이블 개념](https://en.wikipedia.org/wiki/Hash_table) + +--- + +### 문제 2: 스택 수열 +- **플랫폼**: 백준 +- **문제 번호**: #1874 +- **링크**: [문제 링크](https://www.acmicpc.net/problem/1874) +- **난이도**: 🟡 보통 +- **유형**: 자료구조 - 스택 +- **설명**: 1부터 n까지의 수를 스택에 push/pop하여 주어진 수열을 만들 수 있는지 판단 + +#### 핵심 포인트 +- 스택의 LIFO 특성 이해 +- 불가능한 경우를 판별하는 조건 파악 + +#### 참고 자료 +- [스택 자료구조](https://ko.wikipedia.org/wiki/스택) + +--- + +### 문제 3: 완주하지 못한 선수 +- **플랫폼**: 프로그래머스 +- **문제 번호**: 42576 +- **링크**: [문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/42576) +- **난이도**: 🟢 쉬움 +- **유형**: 자료구조 - 해시 +- **설명**: 참가자와 완주자 명단을 비교하여 완주하지 못한 선수를 찾는 문제 + +#### 핵심 포인트 +- 해시맵을 이용한 효율적인 카운팅 +- 동명이인 처리 + +#### 참고 자료 +- [해시맵 활용](https://docs.python.org/3/tutorial/datastructures.html#dictionaries) + +--- + +### 문제 4 (선택): 균형잡힌 세상 +- **플랫폼**: 백준 +- **문제 번호**: #4949 +- **링크**: [문제 링크](https://www.acmicpc.net/problem/4949) +- **난이도**: 🟡 보통 +- **유형**: 자료구조 - 스택 +- **설명**: 문자열에서 괄호의 균형이 맞는지 확인하는 문제 + +#### 핵심 포인트 +- 여러 종류의 괄호 처리 +- 스택을 이용한 괄호 매칭 + +#### 참고 자료 +- [괄호 검사 알고리즘](https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/) + +--- + +## 📊 제출 현황 + +| 이름 | 문제1 | 문제2 | 문제3 | 문제4 | +|------|-------|-------|-------|-------| +| 참여자명 | ⬜ | ⬜ | ⬜ | ⬜ | + +**범례**: ✅ 완료 | ⬜ 미완료 | 🔄 진행중 + +## 💬 스터디 노트 +- 첫 주는 기본 자료구조인 해시와 스택을 집중적으로 다룹니다 +- 문제 4는 선택 문제로, 시간이 있으면 도전해보세요 +- 각자 풀이를 공유하고 다양한 접근 방법을 토론합니다 + +## 🔗 참고 링크 +- [파이썬 자료구조 정리](https://docs.python.org/3/tutorial/datastructures.html) +- [알고리즘 시각화 도구](https://visualgo.net/) diff --git a/problems/2025-W01/example_two_sum.py b/problems/2025-W01/example_two_sum.py new file mode 100644 index 0000000..b85d4da --- /dev/null +++ b/problems/2025-W01/example_two_sum.py @@ -0,0 +1,63 @@ +""" +문제: Two Sum (LeetCode #1) +플랫폼: LeetCode +난이도: 🟢 쉬움 +유형: 자료구조 - 해시 + +문제 설명: +정수 배열 nums와 목표값 target이 주어졌을 때, +배열에서 두 수를 더해 target이 되는 두 인덱스를 반환하시오. + +접근 방법: +1. 해시맵을 사용하여 O(n) 시간 복잡도로 해결 +2. 각 원소를 순회하면서 (target - 현재 값)이 해시맵에 있는지 확인 +3. 있으면 해당 인덱스와 현재 인덱스를 반환 +4. 없으면 현재 값과 인덱스를 해시맵에 저장 + +시간 복잡도: O(n) +공간 복잡도: O(n) +""" + +def twoSum(nums, target): + """ + :type nums: List[int] + :type target: int + :rtype: List[int] + """ + # 해시맵: {값: 인덱스} + hash_map = {} + + for i, num in enumerate(nums): + # target - num이 해시맵에 있는지 확인 + complement = target - num + if complement in hash_map: + return [hash_map[complement], i] + + # 현재 값을 해시맵에 저장 + hash_map[num] = i + + return [] # 해가 없는 경우 (문제 조건상 항상 해가 존재) + + +# 테스트 케이스 +if __name__ == "__main__": + # Test case 1 + nums1 = [2, 7, 11, 15] + target1 = 9 + print(f"Input: nums = {nums1}, target = {target1}") + print(f"Output: {twoSum(nums1, target1)}") + print(f"Expected: [0, 1]\n") + + # Test case 2 + nums2 = [3, 2, 4] + target2 = 6 + print(f"Input: nums = {nums2}, target = {target2}") + print(f"Output: {twoSum(nums2, target2)}") + print(f"Expected: [1, 2]\n") + + # Test case 3 + nums3 = [3, 3] + target3 = 6 + print(f"Input: nums = {nums3}, target = {target3}") + print(f"Output: {twoSum(nums3, target3)}") + print(f"Expected: [0, 1]") diff --git a/problems/2025-W02/README.md b/problems/2025-W02/README.md new file mode 100644 index 0000000..1043f45 --- /dev/null +++ b/problems/2025-W02/README.md @@ -0,0 +1,23 @@ +# Week 02 (2025-01-08 ~ 2025-01-14) + +## 📌 이번 주 문제 + +이번 주 문제는 준비 중입니다. + +문제 추가 시 `templates/week_template.md`를 참고하여 작성해주세요. + +--- + +## 📊 제출 현황 + +| 이름 | 문제1 | 문제2 | 문제3 | 문제4 | +|------|-------|-------|-------|-------| +| 참여자명 | ⬜ | ⬜ | ⬜ | ⬜ | + +**범례**: ✅ 완료 | ⬜ 미완료 | 🔄 진행중 + +## 💬 스터디 노트 +- 추가 예정 + +## 🔗 참고 링크 +- 추가 예정 diff --git a/templates/problem_template.md b/templates/problem_template.md new file mode 100644 index 0000000..7dbd88e --- /dev/null +++ b/templates/problem_template.md @@ -0,0 +1,95 @@ +# [문제 제목] + +## 문제 정보 +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #1234 +- **링크**: [문제 바로가기](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: [자료구조/알고리즘] - [세부 유형] + +## 문제 설명 +[문제에 대한 상세 설명] + +### 입력 +[입력 형식 설명] + +### 출력 +[출력 형식 설명] + +### 예제 +``` +입력: +[예제 입력] + +출력: +[예제 출력] +``` + +## 접근 방법 + +### 아이디어 +1. [주요 아이디어 1] +2. [주요 아이디어 2] +3. [주요 아이디어 3] + +### 알고리즘 선택 이유 +[왜 이 알고리즘/자료구조를 선택했는지] + +### 시간 복잡도 +- **목표**: O(?) +- **실제**: O(?) + +### 공간 복잡도 +- O(?) + +## 풀이 코드 + +### Python +```python +# 코드 작성 +def solution(): + pass + +if __name__ == "__main__": + solution() +``` + +### Java +```java +// 코드 작성 +public class Solution { + public static void main(String[] args) { + + } +} +``` + +### C++ +```cpp +// 코드 작성 +#include +using namespace std; + +int main() { + return 0; +} +``` + +## 핵심 포인트 +- 포인트 1 +- 포인트 2 +- 포인트 3 + +## 실수하기 쉬운 부분 +- 주의할 점 1 +- 주의할 점 2 + +## 다른 풀이 방법 +[대안적인 접근 방법이 있다면 설명] + +## 배운 점 +[이 문제를 통해 배운 내용] + +## 참고 자료 +- [관련 개념 설명](링크) +- [유사한 문제](링크) diff --git a/templates/week_template.md b/templates/week_template.md new file mode 100644 index 0000000..cdf9eab --- /dev/null +++ b/templates/week_template.md @@ -0,0 +1,87 @@ +# Week XX (YYYY-MM-DD ~ YYYY-MM-DD) + +## 📌 이번 주 문제 + +### 문제 1: [문제 제목] +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #1234 +- **링크**: [문제 링크](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: [자료구조/알고리즘] - [세부 유형] +- **설명**: 문제에 대한 간단한 설명 (1-2문장) + +#### 핵심 포인트 +- 포인트 1 +- 포인트 2 + +#### 참고 자료 +- [관련 알고리즘 설명](링크) + +--- + +### 문제 2: [문제 제목] +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #5678 +- **링크**: [문제 링크](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: [자료구조/알고리즘] - [세부 유형] +- **설명**: 문제에 대한 간단한 설명 (1-2문장) + +#### 핵심 포인트 +- 포인트 1 +- 포인트 2 + +#### 참고 자료 +- [관련 알고리즘 설명](링크) + +--- + +### 문제 3: [문제 제목] +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #9012 +- **링크**: [문제 링크](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: [자료구조/알고리즘] - [세부 유형] +- **설명**: 문제에 대한 간단한 설명 (1-2문장) + +#### 핵심 포인트 +- 포인트 1 +- 포인트 2 + +#### 참고 자료 +- [관련 알고리즘 설명](링크) + +--- + +### 문제 4 (선택): [문제 제목] +- **플랫폼**: 백준/리트코드/프로그래머스 +- **문제 번호**: #3456 +- **링크**: [문제 링크](https://...) +- **난이도**: 🟢/🟡/🔴 +- **유형**: [자료구조/알고리즘] - [세부 유형] +- **설명**: 문제에 대한 간단한 설명 (1-2문장) + +#### 핵심 포인트 +- 포인트 1 +- 포인트 2 + +#### 참고 자료 +- [관련 알고리즘 설명](링크) + +--- + +## 📊 제출 현황 + +| 이름 | 문제1 | 문제2 | 문제3 | 문제4 | +|------|-------|-------|-------|-------| +| 참여자1 | ✅ | ✅ | ✅ | ⬜ | +| 참여자2 | ✅ | ⬜ | ⬜ | ⬜ | + +## 💬 스터디 노트 +- 이번 주 스터디에서 배운 점 +- 어려웠던 부분 +- 공유하고 싶은 팁 + +## 🔗 참고 링크 +- [관련 개념 정리 자료](링크) +- [유용한 자료](링크)