본문 바로가기

앱 개발/Algorithm

(16)
isNotEmpty, intArrayOf (나누어 떨어지는 숫자 배열) 문자열이나 컬렉션이 비어있지 않음을 확인하기 위한 확장 프로퍼티 또는 함수이다. 비어있지 않은 경우는 true를, 비어있는 경우는 false를 반환한다. fun main() { val str = "Hello, Kotlin!" if (str.isNotEmpty()) { println("The string is not empty.") } else { println("The string is empty.") } } fun main() { val numbers = listOf(1, 2, 3, 4, 5) if (numbers.isNotEmpty()) { println("The list is not empty.") } else { println("The list is empty.") } ..
sortedDescending, joinToString (정수 내림차순으로 배치하기) 컬렉션의 요소를 내림차순으로 정렬하는 함수이다. 기존의 컬렉션을 변경하지 않고 새롭게 정렬된 컬렉션을 반환한다. 아래 코드에서 numbers.sortedDescending()는 numbers 리스트를 내림차순으로 정렬한 새로운 리스트를 반환한다. 기존의 리스트는 변경되지 않는다. val numbers = listOf(5, 3, 8, 1, 7) val sorted: List = numbers.sortedDescending() println(numbers) // [5, 3, 8, 1, 7] println(sorted) // [8, 7, 5 ,3, 1] 사용자가 지정한 기준에 따라 정렬하려면 sortedByDescending 함수와 함께 Comparator를 사용할 수 있..
substring, isDigit (문자열을 정수로 바꾸기) 문자열에서 일부분을 추출하는 데 사용된다. 주어진 인덱스나 범위에 해당하는 부분 문자열을 반환한다. 인덱스나 범위를 사용하여 부분 문자열을 추출하는 다양한 오버로드를 제공하므로 문자열 작업을 효과적으로 수행할 수 있다. val originalString = "Hello, World!" // 인덱스를 사용 val subString1 = originalString.substring(7) println(subString1) // "World!" // 범위를 사용 val subString2 = originalString.substring(0..4) println(subString2) // "Hello" // 시작 인덱스와 끝 인덱스를 사용 val subString3 = originalS..
first (나머지가 1이 되는 수 찾기) first 함수는 Kotlin 표준 라이브러리에서 제공하는 함수로서 컬렉션에서 조건을 만족하는 첫 번째 요소를 반환한다. 조건을 만족하는 요소가 없을 경우 예외를 발생시킬 수 있으므로 주의해야 한다. 인자로 디폴트 값을 받는 형태도 있어서 조건을 만족하는 요소가 없을 경우 지정된 디폴트 값을 반환할 수 있다. 한편 firstOrNull 함수는 조건을 만족하는 요소가 없을 경우 null을 반환하며 예외를 발생시키지 않는다. val numbers = listOf(1, 2, 3, 4, 5) val firstEven = numbers.first { it % 2 == 0 } println("$firstEven") // 2 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록..
map (자연수 뒤집어 배열로 만들기) map 함수는 컬렉션의 각 요소에 대해 특정 연산을 수행하여 새로운 컬렉션을 생성하는 데 사용되며, 코드가 간결해지고 함수형 프로그래밍의 장점을 활용할 수 있다. mapping은 함수형 프로그래밍에서 자주 사용되는 개념으로서 데이터 변환 및 가공에 유용하다. 다음과 같이 입력 컬렉션-연산-결과 컬렉션으로 이루어진다. val numbers = listOf(1, 2, 3, 4, 5) // 입력 컬렉션 // 각 요소를 제곱 연산하여 새로운 리스트 생성(결과 컬렉션) val squaredNumbers = numbers.map { it * it } class Solution { fun solution(n: Long): IntArray { require(n in 1L..1000000L) // 각..
require (나머지가 1이 되는 수 찾기) Algorithm Code Kata 문제 풀이를 하다 보면 제한 조건이 자주 나온다. 처음에는 if~else 문을 활용했지만 require 함수를 알게 되었다. require는 Kotlin 표준 라이브러리에서 제공되는 함수로서 주어진 조건이 만족되지 않으면 예외를 발생시킨다. 아래 코드에서 require(n in 3..1000)는 n이 3에서 1000 사이의 정수여야 한다는 제한 조건을 나타낸다. n이 1000보다 큰 정수인 경우, IllegalArgumentException이 발생하며 지정된 메시지("n은 3 이상, 1000 이하의 정수여야 합니다.")가 예외 메시지로 설정된다. require 함수의 {}부분은 선택적이며 생략할 수 있다. class Solution { fun sol..