일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- array랑 list
- foldindexed
- 다시봐
- Filter
- recyclerview
- 알고리즘 인증_2주차
- 다시 정리해야함
- filternot
- 다시정리하기
- 취준기록
- 알고리즘 인증
- 알고리즘 인증_1주차
- iPortfolio
- 코딩테스트
- 코틀린
Archives
- Today
- Total
Moments of growth
[Level1 Kotlin] 없는 숫자 더하기 본문
[내 코드]
class Solution {
fun solution(numbers: IntArray): Int =
45 - numbers.sum()
}
[다른 사람 풀이]
class Solution {
fun solution(numbers: IntArray): Int = (0..9).filterNot(numbers::contains).sum()
}
(0..9) 이게 리스트인가?
(0..9).filterNot(numbers::contains)? 이 부분 모르겠음
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를 통해 인덱스와 값을 각각 받을 수 있다.
Comments