일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- android ar 개발
- 안드로이드 레트로핏 사용법
- 2022 플러터 설치
- rxjava hot observable
- ANR이란
- 안드로이드 레트로핏 crud
- 스택 큐 차이
- 안드로이드 유닛테스트란
- 멤버변수
- 자바 다형성
- android retrofit login
- 안드로이드 유닛 테스트
- 스택 자바 코드
- 큐 자바 코드
- 객체
- 안드로이드 라이선스
- 안드로이드 라이선스 종류
- ar vr 차이
- 안드로이드 os 구조
- 클래스
- jvm이란
- rxjava disposable
- 플러터 설치 2022
- Rxjava Observable
- rxjava cold observable
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트 예시
- jvm 작동 원리
- 서비스 쓰레드 차이
- 2022 플러터 안드로이드 스튜디오
- Today
- Total
목록전체 글 (866)
나만을 위한 블로그
일반적으로 Flow는 콜드 데이터라 요청 시마다 값이 계산된다. 하지만 여러 수신자가 하나의 데이터가 바뀌는지 감지하는 경우도 있다. 이 때 메일링 리스트와 비슷한 SharedFlow를 쓴다. StateFlow는 감지 가능한 값과 비슷하다. SharedFlow SharedFlow로 메시지를 내보내면 대기 중인 모든 코루틴이 수신한다. import kotlinx.coroutines.coroutineScopeimport kotlinx.coroutines.delayimport kotlinx.coroutines.flow.MutableSharedFlowimport kotlinx.coroutines.launchsuspend fun main(): Unit = coroutineScope { ..
map Flow의 각 원소를 변환 함수에 따라 변환한다. 숫자들을 Flow로 갖고 있고 각 수의 제곱을 계산하는 연산이라면 생성된 Flow는 이 수들의 제곱을 값으로 갖는다. import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map suspend fun main() { flowOf(1, 2, 3) // [1, 2, 3] .map { it * it } // [1, 4, 9] .collect { print(it) }// 149 } map을 구현하려면 flow 빌더를 써서 새 Flow를 만들면 된다. 그리고 만들어진 Flow에서 원소들을 모으고 변형된 원소들을 하나씩 내보내면 된다. map은 값을 꺼내거나 다른 형태로 바꾸는 등으로 사용..
정수 리스트 num_list, 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장된 원소들을 차례로 담은 리스트를 리턴하는 함수를 완성하라 주먹구구식으로 풀면 아래와 같다. class Solution { fun solution(numList: IntArray, n: Int): IntArray { val list = mutableListOf() for (i in numList.indices step n) { list.add(numList[i]) } return list.toIntArray() } } 위 코드는 filterIndexed를 쓰면 더 간결해진다. class Solution { fun solution(numList: IntArray, n: Int): In..
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n번째 원소까지의 모든 원소를 담은 리스트를 리턴하는 함수를 완성하라 n번째 원소부터 문제에서 사용했던 copyOfRange를 다시 사용하면 된다. 물론 문제에 맞춰서 사용방법을 바꿔야 한다. class Solution { fun solution(numList: IntArray, n: Int): IntArray = numList.copyOfRange(0, n) }
class Solution { fun solution(str_list: Array): Array { val indexL = str_list.indexOf("l") val indexR = str_list.indexOf("r") return when { indexL != -1 && (indexR == -1 || indexL str_list.sliceArray(0 until indexL) indexR != -1 -> str_list.sliceArray((indexR + 1) until str_list.size) else -> arrayOf() } } } l과 r의 인덱스를 가져와서, 조건에 맞게 l 앞의 원소들과 r 뒤의 원소들을 배열에 담아 리턴한다. 문제에는 리스트라고 써 있는데 리..
정수 리스트 num_list, 정수 n이 주어질 때 num_list를 n번째 원소 이후의 원소들과 n번째까지의 원소들로 나눠 n번째 원소 이후의 원소들을 n번째까지의 원소들 앞에 붙인 리스트를 리턴하는 함수를 완성하라 쉽게 말해 n 이상의 인덱스에 있는 값들을 그대로 0번 인덱스 앞에 갖다 붙이라는 뜻이다. 2번째 입출력 예를 보면 순서 변경 없이 그대로 0번 인덱스 앞에 붙인 걸 볼 수 있다. copyOfRange와 subList를 활용하면 풀 수 있다. class Solution { fun solution(numList: IntArray, n: Int): IntArray { val after = numList.copyOfRange(n, numList.size).toList() val before = ..