algorithm-cote-study / baekjoon-algorithm

알고리즘까지 브론즈가 될 수 없어

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

알고리즘까지 브론즈가 될 순 없어

❈ 백준을 꾸준하게 풀어보며 플래티넘 이상을 도전하기 위해 만들어봤습니다. ❈

❗️ 규칙 ❗️

일주일에 2문제 이상 푸는 것을 목표로 하며 각자 목표한 티어까지 멈추지 않고 도전하는 것을 목표로 시작됩니다.
문제 풀이 완료 후, PR 날리면 다음 월요일에 Merge

패키지 생성 기준

  1. 패키지는 solved.ac의 class 분류대로 폴더를 생성했습니다. 바로가기 문제집 생성 순으로 변경 - 2023.05.08
  2. class 별로 각자 이름 패키지 생성
.
└── java
    ├── class1  <- class1
    │   └── seunggu
    ├── class2
    │   └── seunggu

파일 생성 기준

파일은 Main + 문제번호로 생성해주세요. ex) Main1000.java

테스트코드 작성법

  1. test/resource/testcase 폴더에 문제 번호 별로 폴더 생성
  2. 문제의 테스트 케이스 갯수 만큼 test_caseN.txt 파일 생성 (반례도 넣어도 됨) (ex. test_case1.txt, test_case2.txt, test_case3.txt ...)
  3. 패키지 단위의 Test class 생성
    • 내가 만든 class 에서 cmd + shift + N 단축키 입력시 new Test..입력하면 자동으로 test class 생성
  4. 테스트 코드 작성
// 테스트케이스 만들기 예시
@DisplayName("체스판 다시 칠하기 - 승구")
class Main1018Test {

    @Test
    @DisplayName("체스판 다시 칠하기 테스트 케이스 1")
    void test_case_1() throws Exception {
        // given
        BufferedReader reader = TestFileUtil.getReader(this.getClass(),
            "testcase/class2/1018/test_case1.txt");
        // when
        int solution = Main1018.solution(reader);

        // then
        assertEquals(1, solution);

    }

}

Git commit convention

  • feat : 새로운 기능의 추가
  • fix: 버그 수정
  • docs: 문서 수정 (README)
  • style: 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우)
  • refactor: 코드 리펙토링
  • test: 테스트 코트, 리펙토링 테스트 코드 추가
  • chore: 빌드 업무 수정, 패키지 매니저 수정(ex .gitignore 수정 같은 경우)
  • remove : 파일을 삭제하는 작업만 수행한 경우
  • comment : 필요한 주석 추가 및 변경

Code Review 규칙

  1. 매주 일요일 푼 문제를 PR (feature. 라벨 표시) 스크린샷 2023-05-01 오후 4.52.36.png
  2. wiki에 각자 1문제씩 등록 순서대로 백준 문제집 생성해서 wiki 업데이트 - 2023.05.08
  3. 코드 리뷰 완료 후 각자 지정된 comment label 표시
  4. 코드 리뷰 토대로 수정 완료 후 refactor 또는 Bugfix 라벨 표시 스크린샷 2023-05-02 오전 10.41.05.png
  5. 최종 branch merge

변경이력

Contributors


cyeji

seunggulee1007

songjuAhn

Baekjoon
solved.ac

Baekjoon
solved.ac

Baekjoon
solved.ac
목표 : 플래티넘 목표 : 다이아 목표 : 플래티넘

About

알고리즘까지 브론즈가 될 수 없어


Languages

Language:Java 100.0%