λ°μ΄ν° λ°μΈλ©(Data Binding) μ΄λ?λ°μ΄ν° λ°μΈλ© λΌμ΄λΈλ¬λ¦¬λ Android Jetpackμ κ΅¬μ± μμ μ€ νλλ‘, λ μ΄μμμ UI μμλ₯Ό μ±μ λ°μ΄ν° μμ€μ μ μΈμ μΌλ‘ μ°κ²°ν μ μλλ‘ μ§μνλ λΌμ΄λΈλ¬λ¦¬μ΄λ€. μ΄λ₯Ό ν΅ν΄ μ½λμμ findViewById()λ₯Ό μ¬μ©νλ λμ XML λ μ΄μμ λ΄μμ μ§μ λ°μ΄ν°λ₯Ό λ°μΈλ©ν μ μλ€. κΈ°μ‘΄ λ°©μκ³Ό λ°μ΄ν° λ°μΈλ© λ°©μ λΉκ΅κΈ°μ‘΄μλ λ€μκ³Ό κ°μ΄ findViewById()λ₯Ό ν΅ν΄ Viewμ μ κ·Όνκ³ λ°μ΄ν°λ₯Ό ν λΉνλ€.findViewById(R.id.sample_text).apply { text = viewModel.userName}νμ§λ§ λ°μ΄ν° λ°μΈλ©μ μ¬μ©νλ©΄ XML νμΌμμ μλμ κ°μ΄ ννν μ μλ€.μ΄μ²λΌ @{} λ¬Έλ²μ ν΅ν΄ ννμ κΈ°λ°μΌλ‘ ..
μ 체 κΈ
κΉνμΈμ 무μμ 곡λΆν κΉμλλ‘μ΄λ μ±μ κ°λ°ν λ κ°μ₯ κΈ°λ³Έμ μΈ μμ
μ€ νλλ λ μ΄μμ νμΌμ λ·°μ μ κ·Όνλ κ²μ΄λ€. μμ μλ findViewById()λ₯Ό μ¬μ©ν΄ κ° λ·°λ₯Ό μΌμΌμ΄ μ°Έμ‘°ν΄μΌ νμ§λ§, μ΄λ λ²κ±°λ‘κ³ μ€λ₯ κ°λ₯μ±λ λμλ€. μ΄λ₯Ό κ°μ νκΈ° μν΄ Jetpackμμλ λ·° λ°μΈλ©(ViewBinding) κΈ°λ₯μ μ 곡νκ³ μλ€.λ·° λ°μΈλ©μ λ·°μ μνΈμμ©νλ μ½λλ₯Ό λ κ°κ²°νκ³ μμ νκ² μμ±ν μ μλλ‘ λμμ£Όλ κΈ°λ₯μ΄λ€. λͺ¨λμμ λ·° λ°μΈλ©μ μ€μ νλ©΄, XML λ μ΄μμ νμΌλ§λ€ ν΄λΉ λ μ΄μμκ³Ό μ°κ²°λ λ°μΈλ© ν΄λμ€κ° μλμΌλ‘ μμ±λλ€. μ΄ λ°μΈλ© ν΄λμ€λ λ·° IDλ₯Ό κΈ°λ°μΌλ‘ κ° λ·°λ₯Ό μ§μ μ°Έμ‘°ν μ μκ² ν΄μ€λ€. λ·° λ°μΈλ© μ€μ λ°©λ²λ·° λ°μΈλ©μ λͺ¨λ λ¨μλ‘ μ€μ ν μ μλ€. build.gradle (λͺ¨λ λ 벨) νμΌμ and..
μνλ μ΄λμ λ§λ€μ΄μΌ ν κΉ?μνλ "λκ° μ΄ κ°μ μ±
μμ ΈμΌ νλκ°?"λ‘ νλ¨νλ©΄ λλ€.μν μμ± μμΉμ¬μ© μμ μμλν APIμ»΄ν¬μ λΈ λ΄λΆμμ μ»΄ν¬μ λΈ λ΄λΆμμλ§ μ¬μ©UI λ‘μ§ μ μ©, λ¨μκ°rememberμ»΄ν¬μ λΈ λ΄λΆμμ μ
λ ₯κ°, μ ν μν λ±νλ©΄ νμ νμλ μ μ§ν΄μΌ ν μνrememberSaveableViewModelμ¬μ©μ λ°μ΄ν°, λ€νΈμν¬ κ²°κ³Ό λ±λΉμ¦λμ€ λ‘μ§, μ¬λ¬ UIμμ 곡μ mutableStateOf, StateFlow λ± νλ©΄ νμ μ κ°μ΄ μ¬λΌμ§λ©΄ μ λλ€λ©΄ → rememberSaveableλ°μ΄ν°κ° μ¬λ¬ UIμμ 곡μ λκ±°λ λ‘μ§μ΄ 볡μ‘νλ€λ©΄ → ViewModel μ¬μ©μμval viewModel: MyViewModel = viewModel()val uiState by viewModel.uiS..
μλλ‘μ΄λ μ±μ λ§λ€λ€ 보면 UI μν(UI state)λ₯Ό μ΄λ»κ² κ΄λ¦¬ν μ§ κ³ λ―Όμ΄ λ§μμ§λ€. νΉν μνλ₯Ό μ΄λμ λ§λ€κ³ , λκ° μ±
μμ§κ³ , μ΄λ»κ² UIμ μ°κ²°ν μ§κ° μ€μνλ€. UI μνλ?μ± νλ©΄(UI)μ κΈ°λ³Έμ μΌλ‘ λ°μ΄ν°μ λ°λΌ λ°λλ€. μλ₯Ό λ€μ΄ λ‘λ© μ€μΌ λλ μ€νΌλκ° λκ³ , λ°μ΄ν°κ° λ‘λλλ©΄ 리μ€νΈλ₯Ό 보μ¬μ£Όκ³ , μλ¬κ° λλ©΄ λ©μμ§λ₯Ό 보μ¬μ£Όλ μμ΄λ€.μ΄μ²λΌ νλ©΄μ ꡬμ±νλ λ° νμν λ°μ΄ν°λ₯Ό UI μν(UI State)λΌκ³ λΆλ₯Έλ€. λ³΄ν΅ λ€μ μΈ κ°μ§ μνκ° μλ€.λ‘λ© μν (Loading)μ±κ³΅ μν (Success)μλ¬ μν (Error)κ·Έλ¦¬κ³ μ΄ μνλ λ¨λ°©ν₯ λ°μ΄ν° νλ¦(Unidirectional Data Flow) μμμ κ΄λ¦¬λμ΄μΌ νλ€. μ¦, λ°μ΄ν°λ ν λ°©ν₯μΌλ‘λ§ νλ¬κ°μΌ μμΈ‘ κ°λ₯νκ³ ..
λ¬Έμ λ°±μ€ 2805. λ무 μλ₯΄κΈ° https://www.acmicpc.net/problem/2805 μ½λn, m = map(int, input().split())forest = list(map(int, input().split()))s = 1e = max(forest)while s = mid: wood += tree - mid # μ
? if wood >= m: s = mid + 1 # λ€μ΄? else: e = mid - 1print(e)μμ νμμΌλ‘ λͺ¨λ H κ°μ λ€ νμΈνκΈ°μ μκ° μ΄κ³Όκ° λλ―λ‘, μ΄λΆ νμμ μ¬μ©ν΄μΌ νλ€.H(μ λ¨κΈ° λμ΄)λ₯Ό μ΄λΆ νμνλ©°, νμ¬ λμ΄λ‘ λ무λ₯Ό μλ₯΄λ©΄ mλ§νΌ μ»μ μ μλμ§λ₯Ό νλ¨νλ€. νμ΄n, m =..
λ¬Έμ λ°±μ€ 15654. Nκ³Ό M(5) https://www.acmicpc.net/problem/15654 μ½λn, m = map(int, input().split())number = list(map(int, input().split()))number.sort()arr = []def recur(idx): if len(arr) == m: print(*arr) return for i in number: if i not in arr: arr.append(i) recur(idx+1) arr.pop()recur(1) νμ΄n, m = map(int, input().split()) # nκ°μ μ«μ μ€ mκ° κ³ λ₯΄..
ν΄λΌμ°λ μ»΄ν¨ν
μ΄λ?ν΄λΌμ°λ μ»΄ν¨ν
(Cloud Computing)μ μΈν°λ·μ ν΅ν΄ IT μμ(μλ², μ€ν 리μ§, λ°μ΄ν°λ² μ΄μ€, λ€νΈμν¬, μννΈμ¨μ΄ λ±)μ μ 곡νλ μλΉμ€μ΄λ€. μ ν΅μ μΈ IT μΈνλΌλ 물리μ μΈ μλ²λ μ μ₯ μ₯μΉλ₯Ό μ§μ ꡬ맀νκ³ κ΄λ¦¬ν΄μΌ νμ§λ§, ν΄λΌμ°λ μ»΄ν¨ν
μ μ΄μ©νλ©΄ νμν λλ§ μμμ λΉλ € μ°κ³ μ¬μ©ν λ§νΌλ§ λΉμ©μ μ§λΆνλ©΄ λλ€.μλ₯Ό λ€μ΄, μ°λ¦¬κ° μ κΈ°λ₯Ό μ¬μ©ν λ λ°μ μλ₯Ό μ§μ μ΄μνμ§ μκ³ νμν λλ§ μ λ ₯νμ¬μ μ κΈ°λ₯Ό μ¬μ©νλ κ²κ³Ό λΉμ·ν κ°λ
μ΄λ€. ν΄λΌμ°λ μ»΄ν¨ν
μ μ΄λ¬ν λ°©μμΌλ‘ IT μΈνλΌλ₯Ό μ 곡νμ¬ κΈ°μ
κ³Ό κ°μΈμ΄ λμ± ν¨μ¨μ μΌλ‘ κΈ°μ μ νμ©ν μ μλλ‘ λμμ€λ€.ν΄λΌμ°λ μ»΄ν¨ν
μ νΉμ§1) μ¨λ맨λ(Self-Service)μ¬μ©μκ° μ§μ νμν λ μνλ IT μμμ μΆκ°ν..
μλλ‘μ΄λ μ ν리μΌμ΄μ
κ°λ°μμ UI μν κ΄λ¦¬λ μ¬μ©μ κ²½νμ ν΅μ¬ μμλ€. νΉν, Jetpack Composeμ κ°μ μ μΈν UI νλ μμν¬μμλ μνμ μ΄λ²€νΈλ₯Ό λͺ
νν κ΄λ¦¬νλ κ²μ΄ μ€μνλ€. μ΄λ₯Ό ν¨κ³Όμ μΌλ‘ ꡬννλ λ°©λ² μ€ νλκ° μν νλλ₯Ό νμ©νλ κ²μ΄λ€. μνλ?UIμ μν(State)λ μ¬μ©μμ μ
λ ₯μ΄λ μΈλΆ λ°μ΄ν° λ³νμ λ°λΌ λ°λλ κ°μ΄λ€. μνλ UIλ₯Ό κ²°μ μ§λ μ€μν μμλ‘, μ μΈν UI νλ μμν¬μμλ μνκ° λ³κ²½λλ©΄ UIκ° μλμΌλ‘ μ
λ°μ΄νΈλλ€.μνμ μμμ¬μ©μκ° λ²νΌμ λλ¬ λ‘λ© μ€ μνκ° νμ±νλ¨API μμ² ν λ°μ΄ν°λ₯Ό κ°μ Έμ νλ©΄μ νμ체ν¬λ°μ€κ° μ νλμλμ§ μ¬λΆμ΄λ¬ν μνλ₯Ό ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νκΈ° μν΄ μν νλκ° νμνλ€. λ‘μ§μ΄λ?UI μνλ μ μ μ΄μ§ μμΌλ©° μ ν리μΌμ΄..
μλλ‘μ΄λ μ±μμ UI μ΄λ²€νΈλ μ¬μ©μμ μ ν리μΌμ΄μ
κ°μ ν΅μ¬μ μΈ μνΈμμ©μ λ΄λΉνλ€. μλ₯Ό λ€μ΄, λ²νΌ ν΄λ¦, μ€ν¬λ‘€, μ
λ ₯ νλ λ³κ²½ λ±μ λμμ΄ λͺ¨λ μ΄λ²€νΈλ‘ μ²λ¦¬λλ€. μ΄λ¬ν μ΄λ²€νΈλ₯Ό ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νμ§ μμΌλ©΄ μ±μ μλ΅μ±μ΄ λ¨μ΄μ§κ±°λ μκΈ°μΉ λͺ»ν λμμ΄ λ°μν μ μλ€. λ°λΌμ, 체κ³μ μΈ μ΄λ²€νΈ μ²λ¦¬ λ°©μμ΄ νμνλ€. UI μ΄λ²€νΈ μ²λ¦¬μ κΈ°λ³Έ μμΉ1. λ¨λ°©ν₯ λ°μ΄ν° νλ¦(One-way Data Flow, UDF) μ μ§μλλ‘μ΄λμμ UI μνλ₯Ό κ΄λ¦¬ν λ λ¨λ°©ν₯ λ°μ΄ν° νλ¦μ μ μ§νλ κ²μ΄ μ€μνλ€.μ¦, μ΄λ²€νΈ → μν λ³κ²½ → UI μ
λ°μ΄νΈμ νλ¦μ λ°λΌμΌ νλ€.μ΄λ¬ν ꡬ쑰λ₯Ό λ°λ₯΄λ©΄ μν λ³νμ μμΈμ μΆμ νκΈ° μ¬μμ§κ³ , λλ²κΉ
μ΄ κ°νΈν΄μ§λ€. λν, μκΈ°μΉ λͺ»ν λΆμμ©μ λ°©μ§νμ¬ μ μ§λ³΄μμ±μ ..
μλλ‘μ΄λ μ±μ UI λ μ΄μ΄λ μ¬μ©μμμ μνΈμμ©μ μ²λ¦¬νλ©°, νλ©΄μ λ°μ΄ν°λ₯Ό νμνλ ν΅μ¬μ μΈ μν μ νλ€.μ μ§λ³΄μμ±κ³Ό νμ₯μ±μ κ³ λ €ν UIλ₯Ό ꡬμΆνλ €λ©΄ κ΄μ¬μ¬μ λΆλ¦¬, λ¨λ°©ν₯ λ°μ΄ν° νλ¦(UDF), μν κ΄λ¦¬ λ±μ μμΉμ λ°λ₯΄λ κ²μ΄ μ€μνλ€. 1. UI λ μ΄μ΄μ ν΅μ¬ κ΅¬μ± μμUI λ μ΄μ΄λ ν¬κ² λ κ°μ§ μμλ‘ κ΅¬μ±λλ€.UI μμ: View λλ Jetpack Composeλ₯Ό μ¬μ©ν΄ UIλ₯Ό ꡬμ±νλ€.μν νλ(State Holder): UI μνλ₯Ό κ΄λ¦¬νλ©°, UI μμμ λ°μ΄ν° μμ€λ₯Ό μ°κ²°νλ€. μΌλ°μ μΌλ‘ ViewModelμ΄ μ΄ μν μ μννλ€.π ν΅μ¬ κ°λ
: UI μμλ μνλ₯Ό νννλ μν λ§ λ΄λΉνκ³ , μν κ΄λ¦¬λ μν νλ(ViewModel)κ° μ±
μμ§λλ‘ λΆλ¦¬νλ κ²μ΄ μ€μνλ€. 2. λ¨λ°©ν₯..
λ¬Έμ λ°±μ€ 14501.ν΄μ¬ https://www.acmicpc.net/problem/14501 μ½λ (λ°ν
μ
DP)λ°ν
μ
λ°©μμμλ λ€μμλΆν° μ κ·Όνλ©° μ΅μ μ μλ΄ μ€μΌμ€μ κ²°μ νλ€.N = int(input())table = [list(map(int,input().split())) for _ in range(N)]dp = [0 for _ in range(N+1)]for i in range(N)[::-1]: if i + table[i][0] > N: dp[i] = dp[i+1] else: # iλ²μ§Έ λ λΆν° μ»μ μ μλ μ΅λ μ΄μ΅ dp[i] = max(dp[i + table[i][0]] + table[i][1], dp[i + 1])print(dp[0]) νμ΄for ..
μλλ‘μ΄λ μ ν리μΌμ΄μ
μ κ°λ°ν λ, μ½λμ μ μ§λ³΄μμ±κ³Ό νμ₯μ±μ λμ΄λ κ²μ΄ λ§€μ° μ€μνλ€. ꡬκΈμ μ΄λ₯Ό μν΄ μλλ‘μ΄λ μν€ν
μ²μ λν λ€μν κΆμ₯μ¬νμ μ 곡νκ³ μμΌλ©°, μ΄λ₯Ό λ°λ₯΄λ©΄ μ±μ νμ§κ³Ό κ²¬κ³ μ±μ ν₯μμν¬ μ μλ€. 1. μν€ν
μ² κΆμ₯μ¬νμ κ°μμλλ‘μ΄λ μν€ν
μ² κΆμ₯μ¬νμ μ격ν κ·μΉμ΄ μλλΌ μ±μ νμ§μ λμ΄λ λ° λμμ΄ λλ κ°μ΄λλΌμΈμ΄κΈ° λλ¬Έμ μ±μ μꡬμ¬νκ³Ό νμ κ°λ° νκ²½μ κ³ λ €νμ¬ μ΄λ₯Ό μ μ ν μ‘°μ ν μ μλ€.κΆμ₯μ¬νμ μ°μ μμμ λ°λΌ λ€μκ³Ό κ°μ΄ ꡬλΆλλ€.μ κ·Ή κΆμ₯λ¨: κΈ°λ³Έμ μΈ μμΉκ³Ό μΆ©λνμ§ μλ ν λ°λμ λ°λΌμΌ νλ κΆμ₯μ¬ν.κΆμ₯λ¨: μ±μ νμ§μ ν₯μμν€λ λ° ν° λμμ΄ λλ κΆμ₯μ¬ν.μ νμ¬ν: νΉμ μν©μμ μ μ©ν μ μλ κΆμ₯μ¬ν. 2. κ³μΈ΅νλ μν€ν
μ² μ μ©νκΈ°μλ..