Kotlin

    [leetcode] 128.Longest Consecutive Sequence [kotlin]

    문제 분석1. sorting 되지 않은 array가 input으로 주어진다.2. 연속된 숫자들이 가장 긴 경우의 숫자를 파악해야되는 문제이다.3. 시간복잡도 제한은 O(n)이다. 문제 해결1. sortedSet을 사용했다.2. sortedSet의 정렬은 logN이 걸리기 때문에, sortedSet을 사용했다.3. 각 숫자들을 정렬한다음. 현재 숫자와 앞의 숫자와 비교하여, 길이를 계산하였다.    - 가장 첫번째의 경우 다음 숫자를 null로 두어, null 일 경우에는 첫번째 숫자로 가정하여 길이만 더하고, 다음 숫자를 (현재 숫자 + 1)로 지정하였다.4. 마지막 순회는 O(n)이기 때문에 O(n) 시간복잡도 이내에 문제를 해결할 수 있다. class Solution { fun longestCo..

    코루틴이란?

    그동안 멈춰왔던, 글쓰기를 시작해보려고 합니다.현재 내가 쓰는 언어인 kotlin에 대해서 좀 더 알아보고, 공부할 수 있는 시간을 가져보겠습니다.kotlin docs에 있는 코루틴에 관한 내용 번역과 제가 공부한 내용들을 정리해보겠습니다. 코루틴이란?코루틴은 suspendable computation이다. 개념적으로 쓰레드와 비슷하다. 나머지 코드를 실행시키는 동시에, 코루틴에서 로직을 실행시킨다는 점에서 비슷히다. 하지만, 코루틴은 특정 쓰레드에 국한되지 않는다. 한 쓰레드에서 실행을 멈추고 다른 쓰레드에서 실행을 시킬 수 있다.코루틴을 경량의 쓰레드로 생각할 수 있다. 하지만, 실제 사용에서 쓰레드와 매우 다르게 만드는 중요한 차이점이 몇 가지 있다.여기서 suspendable computation..