스터디는 다음 알고리즘 사이트에 있는 문제로 진행한다.
BAEKJOON - solved.ac 기준 골드이상
Programmers - Level 2 이상
- 매주 2~3문제를 정해서 문제풀이를 진행.
- 주마다 돌아가면서 문제 선택
- 푼 문제에 대해서는 해당 코드와 함께 코드 풀이인
README.md
를 작성하여 업로드 - 자신이 사용하고 싶은 언어로 풀이(C++,Java,Python...)
- 최대 2시간동안 고민해서 풀지 못하면 구글에서 답을 찾아보고 로직을 이해한 뒤 코드 작성 + 코드 풀이 업로드
- Github 활용
- Repository를 Fork해온다.
- 문제를 풀고 문제 단위로 commit을 한다.
- ex> git commit -m "2주차_백준_11054_Sol"
- ex> git commit -m "2주차_백준_11054_Re"
src/개인 폴더/문제사이트_문제 제목/
에코드
와README.md
를 업로드한다.- 각자의 브랜치를 생성하고, 각자의 브랜치로 PR을 보낸다.
본 이미지와 예시는 Mac OS에서 작성되었지만 git command를 사용하기때문에 Window에서는 git bash (git clone 폴더 (해당 스터디에서는 KNU-Algorithm-study폴더가 되겠다)에서 우클릭 후, git bash 클릭) 를 사용했다 생각하고 작성한다.
기본적으로 깃허브의 사용법 숙달을 위해 각자 인원은 본인의 브랜치를 만들고, 그 브랜치 안에서 알고리즘 문제를 풀고, 각자의 브랜치를 master 브랜치에 붙이는 것으로 코드의 제출을 마무리한다.
아래 command들을 통해 branch의 생성과 pull request 요청을 할 수 있다.
현재 branch 확인 command를 제외하고 아래의 단계를 실행하면 완료 할수 있다.
-
git branch
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git branch
-
git branch '원하는 branch 이름'
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git branch test_branch
-
git checkout '원하는 branch 이름'
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git checkout test_branch
※ add 하기 전, 본인이 깃허브에 올릴 파일을 브랜치 안에 넣어줘야 한다. (미리 KNU-Algorithm-Study 폴더에 branch_text.txt파일을 만들어 놓았다. 원래대로라면 본인이 작성한 코드를 본인의 폴더안에 넣어놓은 상태면 된다.)
-
git add *
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git add *
-
git commit -m '원하는 커밋 내용'
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git commit -m "test_branch_commit"
-
git push origin '현재 브랜치 이름'
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git push origin test_branch
- KNU-Alogorithm-Study로 이동하면 본인이 변경한 사항이 아직 Merge되지 않았기 때문에 pull request후 merge를 해줘야한다.
- 상단의 Compare & pull request 클릭 -> Open pull request page로 자동 이동
- 본인이 작성한 커밋 내용과 간단한 comment를 남길 수 있는 화면이 보인다.
- comment를 남기지 않는다면, 우측 하단의 Create pull request 클릭 -> branch page로 자동이동
- 본인이 커밋한 내용을 확인 할 수 있음
- 만약 이 브랜치를 최종적으로 master 브랜치에 합치고 싶다면 좌측 하단의 Merge pull request 클릭
- Merge pull request 후 branch를 삭제해준다.
- master branch에 변경사항이 성공적으로 merge되었는지 확인해준다.
-
git branch -D '삭제할 브랜치 이름'
isangmin@isangmin-ui-MacBookPro KNU-Algorithm-Study % git branch -D test_branch
이 단계까지 왔으면 branch를 생성하고 commit하고 삭제하는 과정이 종료되게 된다.
1. 코드 마감 일요일 저녁 9시
2. 각자 코드에 질문사항이나 질문사항 없으면 “확인완료”라고 적기
3. 문제는 일주일당 각자 1문제 출제 (총 4문제)
1 | 2 | 3 | |
---|---|---|---|
1주차 | 2048(Easy) | 텀 프로젝트 | 소수의 연속합 |
1주차 문제 푼 사람 | 이채현 이상민 김기현 | 이채현 이상민 김기현 | 이채현 이상민 김기현 |
2주차 | 욕심쟁이 판다 | 로봇 청소기 | 낚시왕 |
2주차 문제 푼 사람 | 김기현 이상민 | 김기현 이상민 | 김기현 이상민 |
3주차 | 학교 탐방하기 | 달빛 여우 | 반도체 설계 |
3주차 문제 푼 사람 | 김기현 이상민 | 김기현 이상민 | 김기현 이상민 |
4주차 | [1차]추석 트래픽 | 합승 택시 요금 | 뉴스 클러스터링 |
4주차 문제 푼 사람 | 이상민 김기현 | 이상민 김기현 | 이상민 김기현 |
5주차 | 매출 하락 최소화 | 양팔저울 | 순위 검색 |
5주차 문제 푼 사람 | 이상민 김기현 | 이상민 김기현 | 이상민 김기현 |
6주차 | Parcel | 도로포장 | 사회망 서비스 |
6주차 문제 푼 사람 | 이채현 김기현 이상민 | 이채현 김기현 이상민 | 이채현 김기현 이상민 |
7주차 | 메뉴 리뉴얼 | 주사위 윷놀이 | 친구 네트워크 |
7주차 문제 푼 사람 | 이상민 | 이상민 | 이상민 |
8주차 | 시험기간 | 시험기간 | 시험기간 |
8주차 문제 푼 사람 | 시험기간 | 시험기간 | 시험기간 |
9주차 | 시험기간 | 시험기간 | 시험기간 |
9주차 문제 푼 사람 | 시험기간 | 시험기간 | 시험기간 |
10주차 | ... | ... | ... |
10주차 문제 푼 사람 | ... | ... | ... |
11주차 | 구간 나누기 | 보물섬 | 영어읽기 |
11주차 문제 푼 사람 | 이상민 안상준 | 이상민 조희원 김기현 안상준 | 이상민 조희원 김기현 |
12주차 | 봄버맨 | 여행 가자 | 두 용액 |
12주차 문제 푼 사람 | 이상민 장다영 | 이상민 | 이상민 조희원 |
13주차 | 숌 사이 수열 | 말이 되고픈 원숭이 | 소수인팰린드롬 |
13주차 문제 푼 사람 | 김기현 이상민 | 김기현 이상민 조희원 | 이상민 조희원 |
14주차 | 가장 큰 정사각형 | Puyo Puyo | 숨바꼭질 3 |
14주차 문제 푼 사람 | 김기현 이상민 장다영 조희원 | 김기현 이상민 | 김기현 이상민 장다영 조희원 |
15주차 | 크게 만들기 | 미친 로봇 | N번째 큰 수 |
15주차 문제 푼 사람 | 이상민 김기현 조희원 | 이상민 김기현 | 이상민 김기현 조희원 |
16주차 | 뒤집기 | 거짓말 | 감소하는 수 |
16주차 문제 푼 사람 | 이상민 | 이상민 김기현 | 이상민 김기현 조희원 |
17주차 | 다단계 칫솔 판매 | 오픈 채팅방 | 1학년 |
17주차 문제 푼 사람 | 장다영 김기현 | 장다영 조희원 김기현 | 조희원 김기현 |
18주차 | 기둥과 보 설치 | 표 편집 | 치킨 배달 |
18주차 문제 푼 사람 | 조희원 장다영 김기현 | 조희원 김기현 | |
19주차 | 치즈 | 스도쿠 | 불! |
19주차 문제 푼 사람 | |||
20주차 | |||
20주차 문제 푼 사람 |
개인적으로 알고리즘 문제를 풀면서 좋다고 생각하는 문제를 공유하는 공간.
김기현 | 이상민 | 안상준 |
---|---|---|
이채현 | 김강민 | 조희원 |
장다영 | people | people |