Algorithm Training – 이진 탐색

요즘들어 다시 알고리즘 이론 공부를 시작하고 있다. 이글에서는 이진 탐색 알고리즘 (Binary Search Algorithm)을 공부한 내용을 간단하게 정리한다. 선형탐색과 달리 검색 범위를 매회 절반정도로 감축함으로서 효율을 높이는 탐색 방법이다. 탐색 범위의 중간에 위치한 요소를 가져와, 찾고자 하는 키워드와 비교해서 범위를 점점 줄여나간다. 하지만 그 때문에 요소가 오름차순 또는 내림차순으로 정렬된 배열에서만 작동한다. 본 알고리즘의 기본…

Kotlin – 유효성 체크 isEmpty, isBlank, isNullOrEmpty

개발을 하면서 문자열의 유효성을 체크해야 되는 경우가 있다. 이를테면 사용자가 필드에 값을 입력하였는지를 판단하는 때가 있다. 이런 식의 유효성 체크 방법은 매우 익숙하다. Kotlin 에서는 이런 유효성 체크 로직에 대해 몇 가지 함수들을 기본적으로 제공한다. 대표적으로 isEmpty(), isBlank(), isNullOrEmpty, isNullOrBlank 가 있다, 이 함수들이 각각 어떻게 결괏값을 내주는지 알아보자. isEmpty() isEmpty는 문자열의 length를 기준으로, 1…