Kotlin

· JVM/Kotlin
Set 은 중복이 제거된 집합으로 정의할 수 있다. SortedSet, NavigableSet, TreeSet 은 서로 연관관계가 깊은데 다음과 같은 다이어그램으로 나타낼 수 있다. SortedSet과 NavigableSet 은 인터페이스에 불과하기 때문에 결국 실전에서 사용할 컬렉션은 클래스인 'TreeSet'이다. TreeSet 의 구성 이름이 나타내듯 , Binary Search Tree (Red-BlackTree) 로 구현되어있고 주요 operation 별 시간 복잡도는 다음과같다. Operation Time Complexity Search O (Log N) Insert O (Log N) Delete O (Log N) 이진 트리로 구성되있기 때문에 Log 의 밑은 2다. 그래서 TreeSet 은 ..
· JVM/Kotlin
자료구조에 정렬 기준이 필요할 때 Comparator 라는 인터페이스 정의가 필요하다. Comparator Comprarator 는 인터페이스로 컬렉션을 정렬하는데 필요한 메소드를 정의하고있다. 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 쓰인다. 아래 두 메소드는 이름은 다르지만 두 객체를 비교한다는 같은 기능을 목적으로 고안되었다. compare Comparator 의 유일한 추상 메소드로, 반드시 정의해줘야한다. // 우선순위 비교 // a == b => 0 // a Negative value // a > b => Positive value abstract fun compare(a: T, b: T): Int Comparable Comparator 를 커스텀 정렬 기준을 세울 때 ..
· JVM/Kotlin
Java 든 Kotlin 이든 문자열(String)은 reference 타입이다. Summary 구분 Java Kotlin == (Structural Equality) primitive: 값 비교 reference: (주소) 값 비교 primitive: 값 비교 reference: 참조하여 값 비교 .equals() reference 를 참조하여 값 비교 == 과 동일 === (Referential Eqaulity) X primitive: 값 비교 reference: (주소) 값 비교 주의할 점 1. 코틀린은 사실 primitive type 이 없다. 간단한 정수값을 할당한 변수에도 .toInt, toBoolean() 등 메소드 사용할 수 있는 이유가 여기있다. In Kotlin, everything i..
· JVM/Error
🔒 문제 상황 Intellij IDEA 에서 Gradle Project, JUnit 을 통해 유닛 테스트 코드를 작성하고 실행했을 때 "No found test: " 에러가 발생했다면? 🔑 해결 방법 1. Gradle Project Rebuild Intellij IDEA 맨 우측 상단에 Gradle - Reload All Gradle Projects 2. Set Module Content Root Project Structure - Modules - Content Root Content root? The source code, build scripts, tests, and documentation. These files are usually organized in a hierarchy. The top-l..
🔒 문제 💭 생각의 흐름 라이브러리에서 CircularQueue 를 제공하거나 이미 구현해놓은 코드가 있다면 CircularQueue 안에서 iterator를 쓰면 좋겠다고 생각은 했지만 java, kotlin 에서 CircularQueue를 제공하지 않으므로 그냥 사이즈의 최대 크기를 넘어가는 시점에는 mod(%) 연산으로 index를 조정하는 방식을 택했다. 출력 결과에 '
🔒 문제 🧠 생각의 흐름 입력값에 "위치가 같은 두 점은 없다" 라는 부분에서 중복 값 저장은 신경쓸 필요가 없다는 것을 알 수 있다. 총 2가지로 풀이할 수 있다. (1) 일단 모든 숫자를 리스트나 배열에 담고 정렬하자 y 기준 정렬 -> x 기준 정렬 (stable) (2) SortedSet을 사용하자 ✔️ => 애초에 담길 때 부터 우선순위에 의해 자동 정렬이 되는 자료구조로 정렬의 우선순위인 'comparator' 만 정의해주면 된다. 🔑 풀이 import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util..
M_Falcon
'Kotlin' 태그의 글 목록 (2 Page)