성장, 그 아름다운 향연
article thumbnail
[Kotlin] 그리디 알고리즘(탐욕 알고리즘)

[fastcampus 알고리즘 강의 내용 참고] 탐욕 알고리즘이란 최적의 해에 가까운 값을 구하기 위해 사용됩니다. 즉, 여러 가지 경우 중에서 하나를 결정할 때, 매 순간마다 최적의 경우만 선택하는 방식을 채택해서 최종적인 값을 구합니다. 예를 들어보겠습니다. 문제1) 동전 문제 1원, 50원, 100원, 500원 동전이 주어질 때, 가장 적게 지불하는 동전의 수를 구하기 //val coinList = listOf(1,100,50,500) private fun Int.coinProblem(list: List) : Int { //외부로부터 숫자를 전달받을 때 항상 고정값이므로 Int.함수명을 이용 //항상 최적을 따라야 하기 때문에 가장 큰 숫자부터 내림차순으로 정렬 val coinList = list...

article thumbnail
[Kotlin] LinkedList 직접 구현해보기
computer-science/자료구조 2021. 3. 25. 15:46

코딩테스트를 공부하기 위해 코틀린을 이용한 자료구조, 알고리즘 강의나 서적을 찾아봤지만, 이제 막 떠오르는 언어라 그런지 아직까지는 없는 듯 했습니다. 그래서 기존에 알고 있던 파이썬과 "자료구조와 함께 배우는 알고리즘 입문 - 자바편" 이라는 책을 기반으로 해서 코틀린을 기반한 모든 자료구조와 알고리즘을 다뤄볼 것입니다. 두 언어 모두 객체 지향이고 JVM에서 실행되는 코틀린이기 때문에 자바를 기준으로 하되, 파이썬의 간결함을 결합시켜 최대한 이해하기 쉽게 작성해봤습니다. 그럼 전체 코드를 먼저 살펴보겠습니다. class LinkedList { private var head: Node? = null private inner class Node( var data: E, var next: Node? = n..

profile on loading

Loading...