Skip to content

About

함께 만들어가는 알고리즘 라이브러리

Resources

Stars

12 stars

Watchers

1 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms

함께 만들어가는 알고리즘 라이브러리

Contribution Guidelines

처음 기여하는 사람들을 위한 문서

1. 기여 양식

기여의 단위는 하나의 파일(Eg. dijkstra.cpp, binary-search.java)이나 경로 (longest-increasing-subsequence/)여야 합니다. 편의상 이 단위를 단위 파일이라고 부르도록 하겠습니다.

  • 하나의 파일이 아닌 폴더(경로)를 기여하고자 할 경우에는, 해당 폴더 내에 그에 대한 설명 문서가 존재해야 합니다. (README.md)

본 레포지토리의 파일 경로는 algorithms/{language}/{category}/{problem}의 형태를 띄고 있는데,

  • {language}는 코드에 사용된 언어를 뜻하고(Eg. C++의 경우 CPP, Java의 경우 Java, 등등),
  • {category}는 기여할 단위 파일의 주제나 분류를 뜻하며(Eg. Graph, Sorting 등등),
  • {problem}은 단위 파일에 걸맞는 이름을 뜻합니다.(Eg. binary-search.java, longest-increasing-subsequence, persistent-segment-tree.cpp, 등등)

하나의 단위 파일은 아래와 같은 규칙들을 지켜야 합니다.

  • 모든 파일명/경로명은 영어 소문자로 작성되어야 합니다.
  • 띄어쓰기가 필요한 경우 대시/하이픈 기호를 사용해야 합니다(-).

아직 존재하지 않는 주제/분류에 대한 기여를 하거나, 이미 존재하는 주제/분류의 하위 주제로 볼 수 있는 항목에 대한 기여를 할 경우 그에 알맞게 새로운 경로를 생성해도 좋습니다.

2. 기여 규칙

  • 코드 내에 외부 라이브러리에 대한 참조는 허용하지 않습니다.
    • 각 언어별 표준 라이브러리의 사용은 허용됩니다.
  • 기여의 단위는 하나의 알고리즘이나 자료구조, 혹은 그를 응용한 하나의 문제 상황에 대해서만 이루어져야 합니다.
    • 해당 항목에 대한 코드를 algorithms경로에 기여하거나, 자세한 설명 문서를 docs경로에 기여하면 됩니다.
      • 주제/분류에 대한 설명일 경우 docs에, 코드 자체에 대한 설명일 경우 코드와 같은 경로에 별도의 문서(Eg. README.md)를 첨부하여 하나의 폴더로 기여하면 됩니다.
  • 기여한 내용에 대한 최소한의 설명은 주어져야 합니다.
    • 코드는 최대한 가독성 있게 작성합니다.
      • 필요한 경우, 적절한 주석을 첨부해 줍시다.
    • 코드와 설명 문서를 탑재할 경우, 코드의 시간/공간 복잡도와 간단한 테스트 케이스를 함께 제공해 줍시다.
      • 하나의 소스 코드 파일만을 기여할 경우엔, 해당 파일 내에 주석으로 위 사항들을 포함해 줍시다.
  • 가급적이면 각 언어별 Naming Convention을 따르도록 합시다.
    • 변수/함수명은 각 변수/함수의 목적이 뚜렷하게 드러나도록 합시다.

About

함께 만들어가는 알고리즘 라이브러리

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages