일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- livedata
- android
- 백준
- MiTweet
- Python
- 프로그래머스
- Coroutine
- Hilt
- Codeforces
- androidStudio
- Gradle
- boj
- TEST
- activity
- 코루틴
- Compose
- 쿠링
- GitHub
- 암호학
- MyVoca
- textfield
- 코드포스
- Rxjava
- architecture
- relay
- ProGuard
- Kotlin
- Coroutines
- AWS
- pandas
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
매운 거 먹기 좋은 날씨인데.. 나는 뭐 하냐.. 15824번: 너 봄에는 캡사이신이 맛있단다 한 줄에 모든 조합의 주헌고통지수 합을 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net 뭔가 어려워 보이는 문제이다. 음식의 모든 조합을 먹어 보라고 했으니 $2^{N}$개의 조합을 모두 따져 볼까? $O(2^{N})$ 풀이 음식점의 모든 조합을 구하고, 모든 조합의 주헌고통지수를 더한다. 1초만에 떠올릴 수 있는 풀이지만, 당연히 맞을 리가 없다. Small 태스크만 봐도 $N=3000$이다. 아무래도 조금 더 생각해봐야 할 것 같다. $O(N^{2})$ 풀이 위에서 말했듯이, 이 음식점의 모든 음식 조합은 $2^{N}$개이다. 상식적으로 $2^{N}$개를 일일이 다 따져볼 수..
해 보면 알겠지만, Google Play Console에 APK/AAB를 올리는 작업은 꽤나 귀찮다. 개발자는 귀찮은 일을 싫어한다. 항상 그렇듯이 자동으로 올릴 수 있는 방법이 이미 존재한다. 이것을 Continuous Delivery(연속적 배송?!)이라고 하며, 구체적으로는 업데이트되는 코드를 자동으로 사용자의 기기에 동기화하는 작업을 의미한다. 지금까지의 나는 버전 하나를 출시할 때마다 앱을 업데이트했다. 앱을 빌드하고, AAB를 업로드하는 과정이 매우 귀찮았기 때문이다. 그러나 CD를 적용하면 이 과정을 누군가가 자동으로 수행한다! 따라서 앱을 더 자주 업데이트하는 동시에 귀찮음은 줄일 수 있다. Continuous Integration이라고 테스트를 자동화하는 개념도 있는데, 이건 나중에 생각..
2560번: 짚신벌레 첫째 줄에 a, b, d, N을 나타내는 네 정수가 빈칸 하나를 사이에 두고 차례로 주어진다. 단, 0<a<b<d≤10,000이고, 1≤N≤1,000,000이다. www.acmicpc.net 규칙에 따라 변하는 짚신벌레의 상태를 추적하는 문제이다. 딱 봐도 dp스럽지 않은가? 짚신벌레의 상태는 날짜에 의해서만 변하므로, $i$번째 날의 값을 알면 $i+1$번째 날의 값도 알 수 있다. 다음을 정의한다. $t[i][j]$: $i$번째 날에 상태가 $j$로 바뀌는 짚신벌레의 수 $sum[i][j]$: $i$번째 날에 상태가 $j$인 짚신벌레의 수 ($t$의 부분합이라고 생각하면 좋다) 상태 $j$는 다음과 같다. $j = 0$: 태어남 (태어났지만 성체는 아님) $j = 1$: 성체가 ..
16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순 www.acmicpc.net C언어에서 문자열 처리를 배울 때 흔히 연습하는 사칙연산 문제이다. 문제에서 연산자의 우선순위는 모두 동일하다고 하였으므로 기본적으로 왼쪽에서부터 하나씩 계산해야 한다. 괄호 추가 이제 괄호를 추가해 보자. 괄호 안에는 하나의 연산자만 들어가야 하며, 괄호를 중첩해서 사용할 수는 없다. 직관적으로는 매우 이해하기 쉬운 조건이지만, 의외로 구현하기에는 까다로울 수 있다. 엄밀하게 과정을 정의하면 다음과 같다. 연산자의 양 옆 피연산자를 괄호로 묶어야 한..
ListAdapterAndroid에서 여러 개의 항목을 보여줘야 할 때는 거의 ``RecyclerView``를 사용한다. ``RecyclerView``에 데이터를 제공하는 방법은 여러 가지가 있는데, 최근에 ``ListAdapter``를 알게 되어 MyVoca에 적용해 보았다. 참고: DiffUtil and data binding with RecyclerView - Codelabs for Android Kotlin Fundamentals (Google) 기존 ``RecyclerView.Adapter``는 리스트가 변경될 때마다 ``notify...`` 메소드를 실행해줘야 값이 제대로 보인다. 그런데 데이터의 삽입, 삭제, 수정 등 상황마다 실행해야 하는 메소드가 달라서 (솔직히) 귀찮다. 그래서 궁극의 ..