
간단하게 .count 함수를 이용해서 해결했다.
class Solution {
fun solution(array: IntArray, height: Int): Int {
return array.count { it > height }
}
}
다른 풀이
class Solution {
fun solution(array: IntArray, height: Int): Int {
var answer: Int = 0
for (heights in array) {
if (heights > height) answer++
}
return answer
}
}
이렇게 for문으로 푸신 분들도 있었고,
class Solution {
fun solution(array: IntArray, height: Int) = array.filter { it > height }.size
}
이런 풀이도 있는데, filter 함수가 궁금해서 검색해봤다.
List<String> 에서의 필터 사용
Filter
dinnerList.filter {
it.startsWith("P")
}
// [Pizza, Pasta]
먼저 가장 기초가 되는 filter이다. Boolean 값에 따라 필터링을 할지 안 할지 결정한다. 위의 경우에는 “P”로 시작하는 항목만 true이고, 이 값들만 필터링된다.
FilterNot
dinnerList.filterNot {
it == "Pizza"
}
// [Risotto, Pasta, Hamburger]
filterNot은 말 그대로 조건이 아닌 경우에만 남길 때 사용하는 함수이다. 가독성이 걱정될 때 적절히 사용하면 로직을 보기 좋게 정리할 수 있을 것이다.
FilterIndexed
dinnerList.filterIndexed { index, s ->
index == 3
}
// [Hamburger]
인덱스를 통해 처리하고 싶을 때에는 filterIndexed를 통해 인덱스와 값을 각각 받을 수 있다.
출처:https://blog.yena.io/studynote/2020/01/22/Kotlin-Collection-Filter.html
'TIL (Today I Learned) > TIL' 카테고리의 다른 글
| 2023. 08. 28 TIL (0) | 2023.08.28 |
|---|---|
| 2023. 08. 25 TIL (0) | 2023.08.25 |
| 2023. 08. 24 TIL (0) | 2023.08.24 |
| 2023. 08. 23 TIL (1) | 2023.08.23 |
| 2023. 08. 14 TIL (0) | 2023.08.14 |



