목록분류 전체보기 (152)
시배's Android
15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net private fun main() { val (n, m) = readLine()!!.split(" ").map { it.toInt() } val arr = readLine()!!.split(" ").map { it.toInt() }.sorted() fun go(i: Int, s: List) { if (s.size == m) { println(s.joinToString(" ")) return } for (j in i until n) { if (j == i || ..
2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net private fun main() { repeat(readLine()!!.toInt()) { readLine()!! val A = readLine()!!.split(" ").map { it.toInt() }.toSet() readLine() println(readLine()!!.split(" ").map { if (it.toInt() in A) "1" else "0" }.joinToString("\n")) } }

끊임없이 진화하는 안드로이드 개발 세계에서 유지 관리가 가능하고 확장 가능하며 구조가 잘 짜여진 애플리케이션을 구축하는 것은 매우 중요합니다. 모델-뷰-모델(MVVM) 아키텍처는 이러한 과제를 정면으로 해결하는 가장 강력한 디자인 패턴 중 하나로 부상했습니다. MVVM은 우려 사항을 명확하게 분리하고 테스트 가능성을 높임으로써 안드로이드 개발자들 사이에서 널리 채택되고 있습니다. 이 포괄적인 가이드에서는 안드로이드 MVVM 아키텍처의 복잡성을 자세히 살펴보고, 주요 구성 요소, 장점 및 모범 사례를 살펴보고, 안드로이드 프로젝트에서 MVVM을 마스터할 수 있는 지식을 갖추도록 도와드립니다. Understanding MVVM Architecture MVVM 아키텍처는 고전적인 모델-뷰-컨트롤러(MVC) 패..
Compose 내 테마 분석 | Jetpack Compose | Android Developers Compose 내 테마 분석 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Jetpack Compose의 테마는 여러 개의 하위 수준 구성과 관련 API로 이루어져 있습니다. 이러한 developer.android.com 젯팩 컴포즈의 테마는 여러 하위 수준 구성 요소와 관련 API로 구성됩니다. 이러한 구성 요소는 MaterialTheme의 소스 코드에서 확인할 수 있으며 사용자 정의 디자인 시스템에서도 적용할 수 있습니다. Theme system classes 테마는 일반적으로 공통된 시각적 및 행동 개념을 그룹화하는 여러 시스템으로 구성됩니다. 이러한 시스템은 테마 값을..

Compose의 맞춤 디자인 시스템 | Jetpack Compose | Android Developers Compose의 맞춤 디자인 시스템 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Material은 권장되는 디자인 시스템이며 Jetpack Compose는 Material 구현을 제공하지만, developer.android.com 머티리얼은 권장 디자인 시스템이고 젯팩 컴포즈에는 머티리얼 구현이 포함되어 있지만, 반드시 머티리얼을 사용해야 하는 것은 아닙니다. 머티리얼은 전적으로 공개 API를 기반으로 구축되었으므로 동일한 방식으로 자신만의 디자인 시스템을 만들 수 있습니다. 몇 가지 접근 방식을 사용할 수 있습니다: 추가 테마 값으로 MaterialTheme 확장하..
16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net private fun main() { val (r, c, n) = readLine()!!.split(" ").map { it.toInt() } val x = intArrayOf(-1, 0, 0, 1) val y = intArrayOf(0, -1, 1, 0) val a = Array(r) { readLine()!!.toCharArray() } val b = Array(r) { i -> IntArray(c) { if (a[i][it] == 'O') 3 else 0 } } val s =..
1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net private fun main() { readLine() val A = readLine()!!.split(" ").map { it.toInt() }.toSet() val N = readLine()!!.toInt() var ans = 0 for (l in 1..N) { for (r in maxOf(N, l + 1)..1000) { if (A.all { it !in l..r }) ans += 1 } } println(ans) }
Android 개발을 하다 보면 이미지나 콘텐츠를 확대/축소하거나 드래그하여 이동시키는 기능이 필요한 경우가 있습니다. 이러한 기능을 구현하려면 ZoomState 클래스와 같은 커스텀 상태 클래스를 사용할 수 있습니다. 이 클래스는 Android Jetpack Compose를 사용하여 화면에 구현된 이미지나 콘텐츠를 제어하고 상호작용하는 데 도움을 주는 클래스입니다. ZoomState 클래스 소개 @Stable class ZoomState( @FloatRange(from = 1.0) private val maxScale: Float = 5f, private var contentSize: Size = Size.Zero, private val velocityDecay: DecayAnimationSpec = ..