first 함수는 Kotlin 표준 라이브러리에서 제공하는 함수로서 컬렉션에서 조건을 만족하는 첫 번째 요소를 반환한다. 조건을 만족하는 요소가 없을 경우 예외를 발생시킬 수 있으므로 주의해야 한다. 인자로 디폴트 값을 받는 형태도 있어서 조건을 만족하는 요소가 없을 경우 지정된 디폴트 값을 반환할 수 있다. 한편 firstOrNull 함수는 조건을 만족하는 요소가 없을 경우 null을 반환하며 예외를 발생시키지 않는다.
val numbers = listOf(1, 2, 3, 4, 5)
val firstEven = numbers.first { it % 2 == 0 }
println("$firstEven") // 2
< 문제 15번 >
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요.
< solution >
class Solution {
fun solution(n: Int): Int {
require(n in 3..1000000){}
var x = 2
while (x < n && n % x != 1) {
x++
}
return x
}
}
------------------------------------------------------------------------------------------------------------------------------------
// 이 문제에서 first 함수를 사용하면 while문과 같은 알고리즘을 더 간결하게 나타낼 수 있다.
class Solution {
fun solution(n: Int): Int {
require(n in 3..1000000)
return (2 until n).first { n % it == 1 }
}
}
728x90
'앱 개발 > Algorithm' 카테고리의 다른 글
isNotEmpty, intArrayOf (나누어 떨어지는 숫자 배열) (0) | 2024.02.15 |
---|---|
sortedDescending, joinToString (정수 내림차순으로 배치하기) (0) | 2024.02.07 |
substring, isDigit (문자열을 정수로 바꾸기) (0) | 2024.02.05 |
map (자연수 뒤집어 배열로 만들기) (0) | 2024.01.30 |
require (나머지가 1이 되는 수 찾기) (0) | 2024.01.29 |