일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- onMeasure
- recyclerview
- AppBarLayout
- CoordinatorLayout
- Coroutine
- onLayout
- 알림
- BOJ
- HTTP
- Algorithm
- Navigation
- Android
- 알고리즘
- CustomView
- LiveData
- kotlin
- 코틀린
- lifecycle
- View
- 안드로이드
- Behavior
- CollapsingToolbarLayout
- DataBinding
- notification
- sqlite
- ViewModel
- activity
- room
- hilt
- 백준
- Today
- Total
목록전체 글 (212)
개발일지
CoordinatorLayout자식뷰들의 상호작용을 도와준다. 보통 자식뷰에 Behaviors를 지정하여 스크롤시 효과를 주기도 한다. ScrollView는 Behaviros를 못주지만 NestedScrollView와 RecyclerView는 줄 수 있다. 만약 CoordinatorLayoutAppbarLayout RecyclerView구조에서 RecyclerView에게 Behaviors를 주지 않는 경우 AppbarLayout에 RecyclerView가 겹쳐서 안보이고 상호작용을 할 수 없다. 해결코드
CollapsingToolbarLayout은 app:title속성을 지정하지 않으면 toolbar에 설정된 title을 가져온다. => Toolbar의 height를 wrap_content로 하면 못가져옴 => ?attr/actionBarSize로 바꾼다.
개념 유량이 있는 그래프에서 얼마나 많은 유량을 보낼 수 있는지 확인하는 알고리즘 유량(Flow) : 두 정점 사이에서 흐르는 유량 용량(Capacity) : 두 정점 사이에서 최대로 흐를 수 있는 유량 소스(Source) : 유량이 시작되는 정점 싱크(Sink) : 유량이 도착하는 정점 용량 제한 속성 (Flow 유량은 용량을 넘을 수 없다. 유량의 대칭성 A -> B로 10이 흘렀으면, B -> A로 다시 10을 보낼 수 있다. => 유량을 보낼 경로를 찾을 때 보통 BFS를 사용하고 BFS는 우선순위를 고려하지 않고 경로를 찾게 된다. 이럴 때 최대로 흐르는 경로가 아닌 다른 경로를 선택하는 문제를 해결할 때 필요한 개념이다. 작동원리 1. 유량 그래프를 모델링한다 => 역방향 간선도 필수적으로 추..
개념 그래프 G에서 정접들의 집합을 S라고 할 때 S의 부분 집합 'S를 골랐을 때 서로 인접하지 않으면 독립 집합이라 하고 이중에서 'S의 크기가 가장 큰 독립집합을 최대 독립집합이라고 한다. Maximum Independent Set의 특징은 Maximum Independent Set의 여집합은 Minimum Vertex Cover이다. => 최대 집합 - Minimum Vertex Cover = 최대 독립 집합 => 최대 집합 - 최대 이분 매칭 = 최대 독립 집합이다 시간복잡도 이분매칭 할 때 : O(V^(1/2) * E) 문제 11014 컨닝2 www.acmicpc.net/problem/11014 11014번: 컨닝 2 최백준은 서강대학교에서 “컨닝의 기술”이라는 과목을 가르치고 있다. 이 과목..
개념 그래프 G에서 정점들의 집합을 S라고 할 때 S의 부분집합 'S로 모든 간선을 포함하면 이를 Vertex Cover라고 한다. Minimum Vertex Cover는 NP지만 이분 그래프에서 Minimun Vertex Cover는 최대 매칭과 동치이다. 작동 원리 콰닉의 정리 Kőnig's theorem (graph theory) - Wikipedia An example of a bipartite graph, with a maximum matching (blue) and minimum vertex cover (red) both of size six. In the mathematical area of graph theory, Kőnig's theorem, proved by Dénes Kőnig (19..

안드로이드에서 뷰에 표시할 내용이 많을 때 Scroll View를 사용해서 해결할 수 있다. 하지만 Scroll View를 사용하면 자식 뷰를 하나만 가질 수 있고, 자식 뷰는 wrap_content속성을 사용해야 한다. 하지만 wrap_content를 사용하면 뷰들이 화면을 꽉 채우지 못했을 때 빈 공간이 생긴다. Scroll View에 fillViewport를 추가하자!!!
개념 Short Path Faster Algorithm의 약어로 가장 빠른 경로를 찾는 알고리즘이다. 다익스트라 알고리즘은 음수인 간선이 존재할 때 사용할 수 없고, 벨만-포드 알고리즘보다 효율이 좋기 때문에 MCMF 알고리즘에서 많이 사용한다. 작동원리 isIn => 덱에 해당 정점이 있는지 확인하는 배열, 큐에 중복으로 값을 넣는 것을 방지 count => 업데이트된 횟수를 저장하는 배열, CYCLE을 확인할 수 있다.(벨만-포드와 같은 개념) 1. 시작 정점을 덱에 넣고 count, isIn, distance를 업데이트한다. 2. 덱에서 POP FRONT하고 isIn을 false로 업데이트한다. 3. 현재 정점에서 갈 수 있는 정점중 distance를 업데이트 할 수 있는 정점이 있으면 distan..
drop N개의 숫자만큼 앞에서부터 버리고 나머지를 리턴한다. fun main() { val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val drop = list.drop(5) println(list) println(drop) } [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [6, 7, 8, 9, 10] dropLast N개의 숫자만큼 뒤에서부터 버리고 나머지를 리턴한다. fun main() { val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val drop = list.dropLast(5) println(list) println(drop) } [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1, 2, ..