TIL

240205 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ์นดํƒ€ https://dodobest.tistory.com/37 Android ๊ตฌํ˜„ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ - background service, ViewModel๊ณผ UI ์—ฐ๊ณ„, ViewModel ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ, Navigation์— ๋Œ€ํ•ด ๋‹ค์‹œ deepํ•˜๊ฒŒ ํ•™์Šตํ•˜๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

2024.02.05 ๊ฒŒ์‹œ๋จ

ํฌ์ŠคํŒ… ์ธ๋„ค์ผ ์ด๋ฏธ์ง€

์ฝ”๋”ฉํ…Œ์ŠคํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

https://school.programmers.co.kr/learn/courses/30/lessons/12912# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ฒ˜์Œ์—๋Š” ์ž‘์€ ๊ฐ’๋ถ€ํ„ฐ ํฐ ๊ฐ’๊นŒ์ง€ for loop์œผ๋กœ ๋”ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ž‘์€ ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ, +- ํ•ฉ์— ์˜ํ•ด ์‚ฌ๋ผ์ง€๋ฏ€๋กœ 0๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ๋”ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ž‘์€ ๊ฐ’๊ณผ ํฐ ๊ฐ’์˜ ๋ถ€ํ˜ธ์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ๋ฅผ ๋‚˜๋ˆด์Šต๋‹ˆ๋‹ค. -100, -10 -> bigNum bigNum > 0, abs(smallNum) > abs(bigNum) -100, 1000 -> bigNum ..

2024.02.05 ๊ฒŒ์‹œ๋จ

TIL

240202 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ Kotlin In Action 4.1 Android ๊ตฌํ˜„ ์—ฐ์Šต ์ฃผ๋ง ํ•™์Šตํ•  ๋‚ด์šฉ(๊ผญ ํ•˜๊ธฐ๐Ÿ™ƒ) Heap sort ํ•™์Šต ๋ฐ ์ •๋ฆฌ, ๊ด€๋ จ ๋ฌธ์ œ ํ’€์–ด๋ณด๊ธฐ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด 6, 7์žฅ ํ•™์Šต ๋ฐ ์ง€๊ธˆ๊นŒ์ง€ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ๋ณต์Šต Jetpack Compose Tutorial 6 - Get started with state Android ๊ตฌํ˜„ ์—ฐ์Šต ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ 3์ฃผ์ฐจ ๊ฐ•์˜ ๋ณด๊ธฐ CS - ์šด์˜์ฒด์ œ - ์‹คํ–‰ํŒŒ์ผ ์ƒ์„ฑ ๊ณผ์ • ์ •๋ฆฌ ์•„๋ž˜ ์˜์ƒ ๋จผ์ € ๋ณด๊ธฐ https://youtu.be/sZ3FnGxR6vU?si=ndPCJ6_QwcABpd07 Kotlin In Action 4.2

2024.02.02 ๊ฒŒ์‹œ๋จ

TIL

240201 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฆฌํŠธ์ฝ”๋“œ Heap ์ž๋ฃŒ๊ตฌ์กฐ ํ•™์Šต ๋ฐ ์ •๋ฆฌ Kotlin in Action 3.5, 3.6 - ๋กœ์ปฌ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ค‘๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. - String.substringBeforeLast, String.substringAfterLast ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŒŒ์‹ฑํ•  ๋•Œ ์šฉ์ดํ•˜๋‹ค. - 3์ค‘ ๋”ฐ์˜ดํ‘œ๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ž์—ด์„ ์ž‘์„ฑํ•  ๋•Œ, ๋ฌธ์ž์—ด ์‹œ์ž‘ ๋ถ€๋ถ„์— .๊ณผ ๊ฐ™์€ ๊ตฌ๋ถ„์ž๋ฅผ ๋„ฃ๊ณ  trimMargin์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์„ค์ •ํ•ด์„œ ๊ณต๋ฐฑ์„ ์ง€์šฐ๋ฉด ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ํŽธํ•ด์ง„๋‹ค. Android ๊ตฌํ˜„ ์—ฐ์Šต - nested class๋Š” ์™ธ๋ถ€ member์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์ง€๋งŒ, inner class๋Š” ์™ธ๋ถ€ memeber, private ๊นŒ์ง€๋„ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด 6์žฅ ์ฝ”๋ฃจํ‹ด ๋นŒ๋” (์ฝ๋Š” ์ค‘)..

2024.02.02 ๊ฒŒ์‹œ๋จ

TIL

240131 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ตฌํ˜„ ์—ฐ์Šต https://dodobest.notion.site/1-31-210ff1da90764e238a638663b17cd360?pvs=4 1์›”์€ ๋‚˜์—๊ฒŒ ์ต์ˆ™ํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ตฌํ˜„ ํ•™์Šต ์œ„์ฃผ๋กœ๋งŒ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. 2์›”์€ ๋‚˜์—๊ฒŒ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์™€ CS ํ•™์Šต์— ์ง‘์ค‘ํ•  ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ TIL์„ ๋” ์˜๋ฏธ์žˆ๊ฒŒ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋‹ค.

2024.02.01 ๊ฒŒ์‹œ๋จ

TIL

240129 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด 4์žฅ ์ฝ”๋ฃจํ‹ด์˜ ์‹ค์ œ ๊ตฌํ˜„ Jetpack Compose Tutorial 6 Implement a real-world design Kotlin In Action 3-3 ๋ฆฌํŠธ์ฝ”๋“œ https://leetcode.com/problems/implement-queue-using-stacks Android ๊ตฌํ˜„ ์—ฐ์Šต - Junit4 ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ , Junit5 ์˜์กด์„ฑ๋งŒ ์„ค์ •ํ•˜๋ฉด No tests found for given includes ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. - JSONObject๋ฅผ ์œ ๋‹› ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. JSONObject์˜ JSON์€ Android์— ์˜์กด์„ฑ์„ ๊ฐ–๋Š”๋ฐ, ์•„๋ž˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ, ์•ˆ๋“œ๋กœ์ด๋“œ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ..

2024.01.29 ๊ฒŒ์‹œ๋จ

TIL

240126 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ Android ๊ตฌํ˜„ ๋ณต์Šต Bindable์„ ํ™œ์šฉํ•˜๋ฉด ์ด์ค‘ RecyclerView๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. LeetCode ๋งค์šฐ ํฐ ๊ฐ’ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์ข‹์€ ๋ฌธ์ œ https://leetcode.com/problems/out-of-boundary-paths https://dodobest.notion.site/1-26-521165b1b4fa46dfa4e7e9eabef107e5?pvs=4 Bindable ๊ด€๋ จํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š๋ผ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ์ฃผ๋ง์— ๋ชปํ–ˆ๋˜ ๊ณต๋ถ€๋ฅผ ๋ณด์ถฉํ•ด์•ผ๊ฒ ๋‹ค. ์ฃผ๋ง ๋ชฉํ‘œ ํ•™์Šต๋Ÿ‰ Leetcode weekly ๋ฌธ์ œ ๋ชจ๋‘ ํ’€๊ธฐ Leetcode DP Study plan 2๊ฐœ ํ’€๊ธฐ Android ๊ตฌํ˜„ ๋ณต์Šต p1 ๋๋‚ด๊ธฐ Android ๊ตฌํ˜„ ๋ณต์Šต p2..

2024.01.26 ๊ฒŒ์‹œ๋จ

TIL

240125 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ KMOOC ๊ฐ•์˜ - ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ๊ฐœ๋ฐœ ๋ถ€ํŠธ์บ ํ”„ ~19๊ฐ• - break@{label} - continue@{label} - ์ƒ์†์€ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ํด๋ž˜์Šค๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ, open์œผ๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋งŒ ์ƒ์†ํ•  ์ˆ˜ ์žˆ๋‹ค. - ํด๋ž˜์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ final๋กœ ์„ ์–ธ๋˜๋ฉฐ, ์ƒ์†์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์ด๊ฒƒ์€ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค. - property์˜ setter, getter์—์„œ property ๋ณ€์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ฌดํ•œ ์žฌ๊ท€ ํ˜ธ์ถœ์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ Kotlin์€ backing field๋ฅผ ์ œ๊ณตํ•ด์„œ property ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. - ์ธํ„ฐํŽ˜์ด์Šค์˜ property๋Š” ์ƒํƒœ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†์œผ๋‚˜, ํ”„๋กœํผํ‹ฐ์˜ ์ ‘๊ทผ์ž๋กœ ์„ค์ •์€ ๊ฐ€๋Šฅํ•˜๋‹ค. - ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํ•ญ์†์€ ๊ฐฏ์ˆ˜์— ์ œํ•œ์ด ์—†๋‹ค. - top-leve..

2024.01.25 ๊ฒŒ์‹œ๋จ

TIL

240124 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ 2์ฃผ์ฐจ ๊ฐ•์˜ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด 3์žฅ Jetpack Compose Tutorial - Compose Essential 4 Write your first Compose app Leetcode 23์ผ ๋ฌธ์ œ - ํ•ด์„ค์„ ๋ด๋„ ์™„์ „ํžˆ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค... ๋‚˜์ค‘์— ์ฝ”ํ…Œ ์‹ค๋ ฅ์ด ์˜ค๋ฅด๋ฉด ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. https://leetcode.com/problems/maximum-length-of-a-concatenated-string-with-unique-characters ์˜ค๋Š˜ ๋ฌธ์ œ https://leetcode.com/problems/pseudo-palindromic-paths-in-a-binary-tree/ ๊ฐœ๋ฐœ์ž ์ „๊ณต ๋ฉด์ ‘ - 1. ์šด์˜์ฒด์ œ https://youtu.be/4Z..

2024.01.24 ๊ฒŒ์‹œ๋จ