Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 클래스
- rxjava cold observable
- android ar 개발
- jvm이란
- 서비스 vs 쓰레드
- 큐 자바 코드
- 스택 자바 코드
- 멤버변수
- 객체
- android retrofit login
- rxjava hot observable
- rxjava disposable
- 안드로이드 유닛 테스트 예시
- jvm 작동 원리
- 안드로이드 레트로핏 crud
- 스택 큐 차이
- 안드로이드 라이선스 종류
- Rxjava Observable
- ar vr 차이
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
- 안드로이드 라이선스
- ANR이란
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 자바 다형성
- 플러터 설치 2022
- 안드로이드 os 구조
- 2022 플러터 설치
- 서비스 쓰레드 차이
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 숨어있는 숫자의 덧셈 (1) (Kotlin) 본문
728x90
반응형
문자열이 매개변수로 주어질 때 문자열 안의 모든 자연수들의 합을 리턴하는 solution()을 완성하라
이것도 먼저 주먹구구식으로 풀어봤다.
class Solution {
fun solution(str: String): Int {
val a = str.split("")
var result = 0
for (i in a.indices) {
if (a[i].toIntOrNull() != null) {
result += a[i].toInt()
}
}
return result
}
}
이것은 아래처럼 줄일 수 있다.
class Solution {
fun solution(str: String) = str.filter { Character.isDigit(it) }.sumOf { it.digitToInt() }
}
digitToInt()의 설명은 아래와 같다.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/digit-to-int.html
Char가 나타내는 십진수의 숫자값을 반환한다. 이 Char가 유효한 십진수가 아니면 예외를 던진다. Char에 대해 isDigit이 true라면 Char는 십진수를 나타내는 것으로 간주된다. 이 경우 문자의 유니코드 십진수 값이 리턴된다
쉽게 말해서 변수에 담긴 문자가 숫자라면 이 함수를 써서 int로 바꿀 수 있다는 뜻이다.
sumOf {}는 이름에서도 알 수 있듯이 모든 값들을 합친 결과를 리턴하는 함수다. String과 sequences, 컬렉션에서 쓸 수 있다.
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 컨트롤 제트 (Kotlin) (0) | 2022.12.30 |
---|---|
[Algorithm] 프로그래머스 - 소인수분해 (Kotlin) (0) | 2022.12.29 |
[Algorithm] 프로그래머스 - 문자열 정렬하기 (1) (Kotlin) (0) | 2022.12.29 |
[Algorithm] 프로그래머스 - 모음 제거 (Kotlin) (0) | 2022.12.29 |
[Algorithm] 프로그래머스 - 팩토리얼 (Kotlin) (0) | 2022.12.28 |
Comments