성장, 그 아름다운 향연
article thumbnail
[Kotlin] Rxjava에서 fromArray에 배열 넣는 방법
language/Rx 2021. 4. 6. 21:15

gradle 기준 "io.reactivex.rxjava2:rxjava:2.2.21" Rxjava를 코틀린으로 변경해보며 학습하던 중에 Observable의 fromArray를 실습했다. java에서는 배열을 인자로 넣었을 때 각각의 요소에 접근할 수 있었지만, kotlin에서는 주소값으로 전달되어 오류가 발생했다. 이를 해결하기 위해 인터넷 검색을 해보았고 많은 개발자들은 fromArray 대신 fromIterable을 사용하기를 권장했다. 그래서 kotlin에서는 fromArray를 사용할 수 없는거구나라고 생각하고 번거롭지만 Collection인 list와 같은 구조를 이용했었다. 그러던 중에 갑자기 C언어에서 배웠던 포인터(*) 개념이 문득 떠올랐다. 그래서 혹시나 하는 마음에 인자에다가 *을 첨부..

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..

[백준] 2212번 센서

www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1= n 을 고려하지 않으면 런타임 에러가 나왔다. 아직은 잘 모르지만 저 구문이 없다면 k-1 의 분기점을 구할 때, k의 최대 입력을 넣어준다면 반복 또한 k-1 개를 실시하기 때문에 스택 크기가 상당히 커지기 때문인 것 같다. 다음부터 문제를 풀 때는 입력받는 값들의 상관 관계를 잘 고려해봐야겠다. 그리고 내장 함수인 remove와 max를 사용하여 실행 시간이 길어질 수 있으므로, for i in range(1,n): sensor_diff.append(sensor[i] - sensor[i-1]) sensor_diff.sort(reverse=True) for i in range(k-1): sensor_d..

profile on loading

Loading...