이 레포는 Kotlin을 이용한 안고리듬 연습용 레포로써 백준온라인저지 및 프로그래머스 등의 알고리듬 문제 출제 사이트의 문제를 직접풀어 올리는 레포입니다.
이 레포를 보기전에 직접 문제를 풀어보시고 봐주시길 바라며, 다른사람은 어떻게 풀었나, 다른방법이 있나 살펴보기위한 목적으로 공유하는 것입니다.
또한, 제가 풀어놓은 알고리듬을 나중에 한번에 볼 수 있도록 정리하는 겸 올리는 레포이니 관리가 오랫동안 안되더라도 이해부탁바랍니다.
본 레포는 문제의 내용은 직접올리지 않으며, 해당 문제의 링크를 주석으로 달아놓겠습니다.
백준온라인저지의 단계별 프로젝트의 목록을 기준으로 올리게되며, 추후의 다른 문제들은 별도의 폴더를 만들어 정리하도록하겠습니다.
기본적으로 코드에 주석을 달아 쉽게 이해할 수 있도록 만들지만, 추가적인 설명은 개인적으로 해드리기 어렵습니다. 그리고 우리에겐 구글신이 계십니다. 직접 문제를 검색해보시면 많은 답을 찾으실 수 있습니다.
좀더 나은 방법이나 기타 다른 의견이있으면 해당 문제에대한 파일에 댓글이나 이슈, 풀리퀘스트 등 다양한 방법으로 알려주시면 의견을 수렴해 내용을 바꾸도록하겠습니다.
영어 작문 연습을 해봅시다. 오픈소스 레포를 사용할때를 대비해 Git을 사용할때 커밋은 영어로하는 연습을 해봅시다.
또한 커밋할때 git commit --signoff
기능을 이용해 커밋에 Signed-off-by: 이름 <이메일>
을 추가해주시기 바랍니다.
/*
* 메인
* kotlin 1.3이후 main의 매개변수 삭제가 가능 하지만
* 이전버전과의 호환을 위해 매개변수가 있는 타입으로 사용
*/
fun main(args: Array<String>) {
}
/* 괄호 */
// 함수, 메소드는 붙이고, 키워드는 띄운다
while (..) {}
if (..) {}
println("...")
fun test(arg: Int) {}
// 모든 블럭의 시작은 사용한 키워드, 메소드의 옆에서 시작합니다.
if (...) {
}
// 사용하지 않는 람다 변수는 _로 표기
str.forEach { _ -> }
str.map { it ->
println(it)
}
// 반복문 허용
while ((i++) == 0) {}
for (i in 0 .. 1) {}
(0 .. 1).forEach { i -> }
// 결과 변수 이름은 answer로 하지만, 문제 내용에 따라서 별도의 이름을 사용
var answer: Int = 0
var kg: Int = 0
var year: Int = 0
// 변수 및 함수 이름은 카멜케이스 이용
val myName
fun testFunction(arr: ArrayList<String>, isTure: Bool) {}
// 코드의 길이는 120열을 기준으로 줄넘김을 합니다.
// 배열은 너무 짧지않으면 세로로 정렬해 표기합니다.
val arr: List<List<Int>> =
listOf(
listOf(1, 2, 3),
listOf(1, 2, 3),
listOf(1, 2, 3)
)