/Algo-Study

SSAFY 9기 부울경 4반 알고리즘 스터디 기록

Primary LanguageJava

💡 알고리즘 스터디 💡

SSAFY 9기 부울경 4반 알고리즘 스터디 기록

🙋🏻‍♂️ Contributors


김지홍


강다은


강소현


최영은


정효인


이동주


이하린


최연재



Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필 Solved.ac 프로필

📌 Rule

각자 문제를 선정하여 매주 4~5문제를 풉니다. 매주 월요일 카카오톡 공지방에 댓글로 문제를 등록합니다.

  • ❗❗ 문제풀이 마감 : 매주 월요일 23:59 까지
  • ❕❕ 리뷰 마감 : 매주 화요일 23:59 까지

📌 Convention

1️⃣ Code Convention

각 코드 별 목적을 주석으로 작성합니다. 변수와 함수 이름 또한 역할을 알 수 있도록 간단한 주석을 덧붙입니다.


2️⃣ Project Convention

각 멤버별 프로젝트 구조는 다음과 같습니다 프로젝트이름/week번호/플랫폼_문제번호_레벨_문제이름/...

kjh95044/week15/BOJ_1051_S3_숫자정사각형/...

3️⃣ Commit Convention

한번에 모든 파일을 add하지 않고 type별로 분리하여 commit 합니다.

docs : README.md 등 문서 작성 및 수정
code : 코드 작성
fix : 코드 수정
add : 기존에 푼 문제에 대한 추가
remove : 코드 및 문서 삭제
merge : pr(pull request)을 통해 자신의 repo에서 원본 repo로 merge하기

적용 예시 ::

  1. BOJ의 1051번 숫자 정사각형 (silver3) 문제를 풀었다면 해당 코드를 하나의 commit으로 분리합니다.
    이 때의 commit message는 다음과 같이 통일합니다

      git commit -m "code : BOJ 1051 S3 숫자정사각형"
    

    해당 코드를 수정할 때의 commit message는 다음과 같이 통일합니다.

      git commit -m "fix : BOJ 1051 S3 숫자정사각형"
    
  2. 코드에 대한 설명을 작성하고 해당 문서를 하나의 commit으로 분리합니다.
    이 때의 commit message는 다음과 같습니다.

     git commit -m "docs : BOJ 1051 S3 숫자정사각형"
    
  3. main README.md 파일을 수정할 때의 commit message는 다음과 같습니다.

      git commit -m "docs : main README update"
    
  4. 파일을 삭제할 경우 commit message는 다음과 같습니다

      git commit -m "remove : 삭제파일"
    

4️⃣ Review Convention

  1. Pull Request의 제목은 다음과 같이 통일합니다. 이름 : 문제플랫폼 문제번호 문제등급 문제제목

      JIHONG KIM : BOJ 1051 S3 숫자정사각형
    
  2. Pull Request의 comment에는 본인이 작성한 README.md의 내용을 추가합니다.

  3. 문제에 해당하는 유형을 선택하여 PR에 label을 attach하고,
    자신의 PR의 assignee에 자신을 추가 후 문제풀이 week에 해당하는 Milestones을 선택합니다.

  4. 기존에 PR을 작성 후 새로운 문제를 풀었을 경우, 새로운 문제에 대한 commit을 하기 전 다음 과정을 수행합니다.

    • ❓ 코드리뷰가 완료 되었을 경우
      자신의 PR에서 merge 버튼을 눌러 merge 합니다.

    • ❓ 리뷰 완료 전 새로운 문제를 풀 경우

      1. 자신의 local에서 새로 푼 문제에 대한 branch를 생성합니다.
        이 때 branch의 이름을 문제플랫폼-문제번호과 같이 생성하는 것을 권장합니다.

         boj-1051
        
      2. 새로운 문제에 대한 code와 README.md에 대한 commit을 추가 후 push합니다.
        이 때의 commit message는 2️⃣ Commit Convention에서 언급한 규칙에 맞게 설정합니다.

      3. 이 때 반드시 (a)에서 생성한 branch로 push 되는지 확인합니다.

      4. 본인 계정의 fork된 repo에서 Pull Request을 작성할 때,
        코드가 push된 브랜치(a에서 생성한 jihong/boj-1051)에서
        organization repo의 main 브랜치로 Pull Request를 보냅니다.



📌 Solved Problems

🚩 week 1

Type 문제 제목 유형 rank
BOJ 3085 사탕 게임 브루트포스 silver3
BOJ 1476 날짜 계산 브루트포스 silver5
BOJ 1107 리모컨 브루트포스 gold5
BOJ 6064 카잉 달력 브루트포스 silver1

🚩 week 2

Type 문제 제목 유형 rank
BOJ 14501 퇴사 DP, 브루트포스 silver3
BOJ 10972 다음 순열 재귀 silver3
BOJ 11727 2×n 타일링 2 DP silver3
BOJ 10866 silver4
BOJ 7576 토마토 그래프 gold5

🚩 week 3

Type 문제 제목 유형 rank
BOJ 1992 쿼드트리 분할 정복, 재귀 silver1
BOJ 1991 트리 순회 트리, 재귀 silver1
BOJ 9084 동전 DP gold5
PRG 60058 괄호 변환 구현 LV.2

🚩 week 4

Type 문제 제목 유형 rank
BOJ 11052 카드 구매하기 DP silver1
BOJ 2096 내려가기 DP gold5
BOJ 1495 기타리스트 DP silver1
BOJ 11057 오르막 수 DP silver1
PRG 118666 성격 유형 검사하기 구현 LV.1

🚩 week 5

Type 문제 제목 유형 rank
BOJ 21608 상어 초등학교 구현 gold5
SWEA 1953 탈주범 검거 구현 역량테스트
SWEA 2383 점심 식사시간 구현 역량테스트
SWEA 4014 활주로 건설 구현 역량테스트

🚩 week 6

Type 문제 제목 유형 rank
BOJ 2252 줄세우기 위상 정렬 gold3
BOJ 9205 맥주 마시면서 걸어가기 BFS gold5
BOJ 10282 해킹 Dijkstra gold4
BOJ 13305 주유소 그리디 silver3

🚩 week 7

Type 문제 제목 유형 rank
BOJ 10775 공항 bfs gold2
BOJ 2206 벽 부수고 이동하기 bfs gold3
BOJ 2665 미로만들기 bfs gold4
BOJ 2174 로봇 시뮬레이션 구현 gold5
BOJ 1743 음식물 피하기 bfs silver1

🚩 week 8

Type 문제 제목 유형 rank
BOJ 6593 상범 빌딩 bfs gold5
BOJ 9328 열쇠 구현 bfs gold1
BOJ 20055 컨베이어 벨트 위의 로봇 구현 gold5
BOJ 2638 치즈 bfs gold3
BOJ 14719 빗물 구현 gold5

🚩 week 9

Type 문제 제목 유형 rank
BOJ 11559 Puyo Puyo DFS/BFS, 구현 gold4
BOJ 2632 피자판매 DP gold2
BOJ 1005 ACM Craft 그래프 gold3
BOJ 1043 거짓말 그래프 gold4
BOJ 21318 피아노 체조 DP silver1

🚩 week 10

Type 문제 제목 유형 rank
BOJ 14925 목장 건설하기 DP gold4
BOJ 2573 빙산 그래프 gold4
BOJ 14499 주사위 굴리기 구현 gold4
BOJ 1715 카드 정렬하기 그래프 gold4

🚩 week 11

Type 문제 제목 유형 rank
BOJ 1516 게임 개발 위상 정렬 gold3
BOJ 9019 DSLR 구현 gold4
BOJ 21611 마법사 상어와 블리자드 구현 gold1
BOJ 11000 강의실 배정 우선순위큐 gold5

🚩 week 12

Type 문제 제목 유형 rank
BOJ 1796 신기한 키보드 dp gold4
BOJ 13549 숨바꼭질 3 dfs/bfs gold5
BOJ 3020 개똥벌레 dp gold5
BOJ 2310 어드벤처 게임 dfs/bfs gold4
BOJ 20920 영단어 암기는 괴로워 문자열/자료구조 siver3

🚩 week 13

Type 문제 제목 유형 rank
BOJ 2879 코딩은 예쁘게 그리디 gold3
BOJ 13164 행복 유치원 그리디 gold5
BOJ 9935 문자열 폭발 자료구조 gold4
BOJ 22251 빌런 호석 구현 gold5

🚩 week 14

Type 문제 제목 유형 rank
BOJ 16463 13일의 금요일 구현 siver3
BOJ 2866 문자열 잘라내기 자료구조 gold5
BOJ 2529 부등호 백트래킹 siver1
BOJ 11724 연결 요소의 개수 bfs siver2
BOJ 2668 숫자고르기 dfs gold5

🚩 week 15

Type 문제 제목 유형 rank
BOJ 16139 인간-컴퓨터 상호작용 누적 합 siver1
BOJ 15685 드래곤 커브 구현 gold4
BOJ 5052 전화번호 목록 자료 구조 gold4
BOJ 1461 도서관 그리디 gold5

🚩 week 16

Type 문제 제목 유형 rank
BOJ 14620 꽃길 브루트포스 siver2
BOJ 2166 다각형의 면적 기하학 gold5
BOJ 2531 회전 초밥 두 포인터 siver1
BOJ 14442 벽 부수고 이동하기 2 bfs gold3

🚩 week 17

Type 문제 제목 유형 rank
BOJ 1647 도시 분할 계획 최소 스패닝 트리 gold4
BOJ 18430 무기 공학 백트레킹 gold4
BOJ 2156 포도주 시식 DP silver1
BOJ 12886 돌 그룹 bfs gold4

🚩 week 18

Type 문제 제목 유형 rank
BOJ 16197 두 동전 백트래킹 gold4
BOJ 17836 공주님을 구해라! bfs gold4
BOJ 2666 벽장문의 이동 dp silver1
BOJ 17218 비밀번호 만들기 dp gold4
BOJ 1937 욕심쟁이 판다 dp dfs gold4

🚩 week 19

Type 문제 제목 유형 rank
BOJ 2615 오목 구현 silver1
BOJ 14938 서강그라운드 데이크스트라 gold4
BOJ 8983 사냥꾼 정렬, 이분 탐색 gold4
BOJ 22945 팀 빌딩 두 포인터 gold4

🚩 week 20

Type 문제 제목 유형 rank
BOJ 12904 A와 B 그리디 gold5
BOJ 1238 파티 데이크스트라 gold3
BOJ 1188 음식 평론가 수학 gold4
BOJ 1749 점수따먹기 DP, 브루트포스 gold4

🚩 week 21

Type 문제 제목 유형 rank
BOJ 1726 로봇 BFS gold3
BOJ 2448 별찍기_11 재귀 gold4
BOJ 1744 수 묶기 그리디 gold4
BOJ 2623 음악프로그램 위상 정렬 gold3