/SSAFY_10th_18class_AlgoStudy

싸피 서울 18반 알고리즘 스터디 그룹입니다.

Primary LanguageJava

⌨️ Algorithm Study

진행 기간 2023년 7월 31일 ~ ing
스터디 장소 역삼역 (SSAFY 건물 주변)
정기 스터디 시간 SSAFY 정규 수업 시간 이후
플랫폼 백준
언어 C++ Java

🤼 스터디 멤버

snowman2810 JisinKeo KIMSEI1124 sjhjack INSEA-99
snowman2810 JisinKeo KIMSEI1124 sjhjack INSEA-99
Java Java Python Java C++ Java C++ Java

❇️ 이번 주 문제

날짜 문제 유형 문제 난이도
08-29 ~ 09-05 DP
다익스트라
1. 자원 캐기
2. 숫자 카드
3. AMC Craft
4. 전력난



지난 문제 보기

Week 01

날짜 문제 유형 문제 난이도
07-31 ~ 08-06 스택
자료구조
백트래킹
완전 탐색
1. 스택 수열
2. 절대값 힙
3. 부분 수열의 합
4. 암호 만들기
5. 치킨 배달





Week 02

날짜 문제 유형 문제 난이도
08-07 ~ 08-14 그리디 알고리즘
트리
완전 탐색
1. 단어 수학
2. 트리의 부모 찾기
3. 트리의 지름
4. 안전 영역
5.





Week 03

날짜 문제 유형 문제 난이도
08-15 ~ 08-21 그래프 이론
재귀
1. 효율적인 해킹
2. 별 찍기 10
3. 가르침
4. 교환



Week 04

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | 08-21 ~ 08-28 | 위상 정렬
최소신장트리
서로소 집합 | 1. Strahler 순서
2. 모양 만들기
3. 우주신과의 교감
4. 전력난
5. 거북이 (클린코드) |



|

🙏 스터디 규칙

  1. 문제 풀이시 주석 달기
  2. PR 요청 후 다른 사람 코드 읽어오기
  3. 궁금한 점 있으면 PR에 코멘트 달기

📂 파일 구조

Algorithm
├── KIMSEI1124
│   └── week01
│       ├── Main1.java
│       ├── Main2.java
│       ├── Main3.java
│       ├── Main4.java
│       └── Main5.java
│   └── week02
│       ├── Main1.java
|       ├── ...
│       └── Main5.java
├── JisinKeo
│   └── week01
│       ├── Main1.java
|       ├── ...
│       └── Main5.java
└── README.md
  1. 상위 폴더 하위에 자신의 GIHUB 아이디의 폴더를 만듭니다.
  2. 주차별로 week${주차 번호}의 폴더를 만듭니다. 예시) 2주차이면 week02 폴더를 만듭니다.
  3. 하위에 Main*${문제 번호}*${문제 이름}.java 혹은 Main_${문제 번호}\_${문제 이름}.java.cpp 소스 코드를 작성합니다.

설명 문서를 추가할 경우 추가하여도 좋습니다.

⚠️ Warning

  1. 10주차 이상으로 할 수도 있으니 1부터 9의 숫자 앞에는 0을 반드시 붙여주세요! 예시) week01, week07

  2. 절대로 남의 폴더를 건드리지마세요!

🎋 브랜치 규칙

브랜치는 주차별로 각자 만든 후 스터디 진행 전까지 PR을 진행합니다.

브랜치 네이밍 규칙은 다음과 같습니다.

${자신의 GITHUB ID}/week${주차 번호} 입니다. 예시) KIMSEI1124, 2주차이면 브랜치 네이밍은 다음과 같습니다 -> KIMSEI1124/week02

터미널에서 브랜치 만드는 방법

  • git checkout -b ${브랜치 이름}

예시는 다음과 같습니다. git checkout -b KIMSEI1124/week02

⭐ Info
git checkout -b ${브랜치 이름} 은 두개의 명령어가 합쳐진 명령어입니다.

  1. git branch ${브랜치 이름} : 브랜치를 생성하는 명령어 입니다.
  2. git checkout ${브랜치 이름} : 해당 브랜치로 이동하는 명령어입니다.

해당 두개의 명령어를 한꺼번에 실행하는 명령어가 위에서 설명한 명령어입니다.

현재 브랜치 확인하는 방법

  • git branch
2023-08-03_10-13-37

다음과 같이 * 가 있는 브랜치가 현재 브랜치입니다. 나가는 방법은 q 를 누르면 됩니다.

⭐ Info
qquit의 단축어입니다.

브랜치 삭제하는 방법

  • git branch -D ${브랜치 이름}

해당 명령어로 사용하지 않는 브랜치를 삭제할 수 있습니다.

⚠️ Warning
main 브랜치는 절대로 삭제하시면 안됩니다.

🚀 커밋 컨벤션

  • Solved : 문제 풀이에 성공하였을 때 사용합니다.
  • Failed : 문제 풀이를 실패하였을 때 사용합니다.
  • Docs : 문서를 수정할 때 사용합니다.

🌈 PR 규칙

  • PR 제목은 다음과 같이 작성합니다. [주차] 내용 예시로는 다음과 같습니다. 예시) [week01] 4문제 풀었습니다.
  • PR의 내용은 특이사항과 같은 내용을 작성해 주시고 추후 템플릿을 작성하겠습니다.
  • 리뷰어로 전부를 추가하고 코드를 반드시 보고 궁금한 부분이 있으면 스터디 당일날 혹은 코멘트로 질문합니다.
  • Merge후 원격저장소에 있는 브랜치는 삭제합니다.

Clone PR 하는 방법

  1. Remote Repository 의 자신의 브랜치로 PUSH 합니다.
  2. GITHUB 홈페이지에서 다음과 같이 진행합니다.

Clone PR

Fork PR 하는 방법

  1. 자신의 Fork Repository 로 소스 코드를 PUSH 합니다.
  2. GITHUB 홈페이지에서 다음과 같이 진행합니다.

Fork PR

⚠️ Warning
반드시 머지 대상을 원본 저장소의 Main 으로 해주세요.

🖥️ Local 로 가져오기

Clone 하는 방법

파일을 저장할 폴더로 CLI로 이동합니다.

해당 위치에서 git clone https://github.com/Algorithm-Study-SG/Algorithm.git 를 진행합니다.

⭐ Info
git clone은 두개의 명령어가 한번에 실행이 됩니다.

  1. git init
  2. git remote origin https://github.com/Algorithm-Study-SG/Algorithm.git

Fork 하는 방법

  1. Fork 버튼을 누릅니다.
2023-08-04_17-37-00
  1. Owner 은 자신으로 선택한 후 Repository name을 원하는 것으로 정한 뒤 Create fork를 누르면 완성입니다.
2023-08-04_17-38-08
  1. 로컬과 연동하는 방법은 Clone 하는 법을 참고해주시면 감사합니다.

✉️ PR 코멘트 하는 방법

  1. Pull request 를 눌러 PR로 들어간 뒤 Files changed를 클릭합니다.
2023-08-04_17-43-30
  1. 원하는 부분의 코드를 드래그 혹은 클릭 등을 사용하여 리뷰를 할 수 있습니다.

Aug-04-2023 17-42-18

  1. Review Changed 를 눌러 코멘트, 허가, 등을 할 수 있습니다.

💽 Git 명령어 간편 설명서

다음은 CLI 환경에서 진행합니다

  1. 작성한 파일을 git 에 추가합니다. git add . 주의할 점은 프로젝트 최상위 폴더에서 진행해야 합니다.
  2. 추가한 파일을 커밋합니다 git commit -m "${커밋 메시지}" 커밋이란? 출처 : 위키백과 저장소에 소스 코드의 일부의 최신 변경사항을 추가함으로써 이러한 변경사항을 저장소의 최상위 리비전의 일부분으로 만들어주는 것을 말한다.
    • -m 옵션은 커밋 메시지를 추가할 수 있습니다.
  3. git push origin ${브랜치 이름} 으로 원격 저장소에 브랜치가 없으면 해당 브랜치를 생성하고 있으면 업데이트 합니다.

해당 README 는 다음 Repository를 참고하여 제작했습니다.
CodeSquad-2023-BE-Study Algorithm-Study