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 ๊ฒŒ์‹œ๋จ

TIL

240122 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋ฃจํ‹ด 2์žฅ ์‹œํ€ธ์Šค ๋นŒ๋” Collection๊ณผ ๋น„๊ตํ•˜์—ฌ Sequence๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”? Effective Kotlin Second Edition 54. Prefer Sequences for big collections with more than one processing step ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ 1์ฃผ์ฐจ ๊ฐ•์˜ Leetcode https://leetcode.com/problems/set-mismatch/description lateinit var - primitive type์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. - ํƒ€์ž…์€ ๋ฐ˜๋“œ์‹œ non-nullable ์ด์–ด์•ผ ํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ์‹œ์ ์— ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” lateinit๊ณผ ๊ฐ’์ด ์—†๋‹ค๋Š” ์˜๋ฏธ์˜ nullable์€ ์„œ๋กœ ์–ด์šธ๋ฆฌ์ง€ ์•Š์•„์„œ๋ผ๊ณ  ์ด..

2024.01.22 ๊ฒŒ์‹œ๋จ

TIL

240119 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฆฌํŠธ ์ฝ”๋“œ ๋ฌธ์ œ ์–ด์ œ ํ’€์—ˆ๋˜ ๋ฌธ์ œ ๋•๋ถ„์— ๋งž์ถœ ์ˆ˜ ์žˆ์—ˆ๋‹ค. https://leetcode.com/problems/minimum-falling-path-sum Android ํ”„๋กœ์ ํŠธ ํ•™์Šต - Fragment์—์„œ Observe ํ•  ๋•Œ, viewLifecycleOwner๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? - LiveData์˜ Object๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•œ setValue, postValue ํ•จ์ˆ˜์˜ ์ฐจ์ด๋ฅผ ๋งํ•ด์ฃผ์„ธ์š”. - Fragment์˜ onCreateView์™€ onViewCreated๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ์š”? ์ž์„ธํ•œ ํ•™์Šต ๋‚ด์šฉ ์ •๋ฆฌ https://dodobest.notion.site/01-19-9bc729f4961d40d3810eebaa84d743cd?pvs=4 ์˜ค๋Š˜ ํ•™์Šตํ•˜์ง€ ๋ชปํ•œ ๋‚ด์šฉ ์™œ ..

2024.01.19 ๊ฒŒ์‹œ๋จ

TIL

240118 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ - Android ํ•™์Šต ์ž๋ฃŒ ~ 10. ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜(์™„) - ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋Š” Kotlin ํด๋ž˜์Šค๋ฅผ Java์—์„œ ์‚ฌ์šฉํ•  ๋•Œ, ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„์ด is๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๊ฒŒํ„ฐ์—๋Š” get์„ ๋ถ™์ด์ง€ ์•Š๊ณ  ์›๋ž˜ ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ์„ธํ„ฐ์—๋Š” is๋ฅผ set์œผ๋กœ ๋ฐ”๊พผ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค. class Person(val isMarried: Boolean) // ์ž๋ฐ”์—์„œ ์‚ฌ์šฉ์‹œ Person person = new Person(false); System.out.println(person.isMarried); // false person.setMarried(true); System.out.println(person.isMarried); // true ๊ฐœ๋ฐœ์ž ๋ฉด์ ‘ ์ค€๋น„ ๋ฐฉ๋ฒ• ๋ฉด์ ‘์€ ์•”๊ธฐ์—์„œ ์‹œ์ž‘ํ•˜๊ณ , ์•”๊ธฐ..

2024.01.18 ๊ฒŒ์‹œ๋จ

TIL

240117 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฆฌํŠธ์ฝ”๋“œ ๋ฌธ์ œ ๋ฆฌ์ŠคํŠธ์—์„œ ์ค‘๋ณต์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ hashSet์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งž์„๊นŒ? GPT4์— ๋”ฐ๋ฅด๋ฉด ๊ทธ๋ ‡๋‹ค๊ณ  ํ•œ๋‹ค.. https://leetcode.com/problems/unique-number-of-occurrences/description/ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ - Android ํ•™์Šต ์ž๋ฃŒ ~ 7.ํด๋ž˜์Šค์™€ ์„ค๊ณ„ - kotlin์˜ MutableList๋Š” interface์ด๊ณ , mutableListOf๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ArrayList ๊ตฌํ˜„์ฒด๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. - Kotlin list collection์˜ add, remove ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ค‘๊ฐ„ ๊ฐ’์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋”ํ•˜๋ฉด ๊ทธ ์ดํ›„์— ์žˆ๋Š” ๊ฐ’๋“ค์ด ํ•œ ์นธ์”ฉ ๋’ค๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์•ž์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ O(n) ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ธฐ ๋•Œ๋ฌธ์—..

2024.01.17 ๊ฒŒ์‹œ๋จ

TIL

240116 TIL

์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฆฌํŠธ์ฝ”๋“œ ๋ฌธ์ œ Set์˜ ๊ตฌํ˜„ ์›๋ฆฌ์— ๋Œ€ํ•ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค https://leetcode.com/problems/insert-delete-getrandom-o1/description/ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ - Android ํ•™์Šต ์ž๋ฃŒ - ์•ˆ๋“œ๋กœ์ด๋“œ๋Š” JVM์ด ์•„๋‹Œ ์•ˆ๋“œ๋กœ์ด๋“œ ๋Ÿฐํƒ€์ž„(ART)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. - Kotlin์—์„œ String์€ Primitive type(๊ธฐ๋ณธ ํƒ€์ž…)์ด ์•„๋‹Œ Class๋‹ค. - ===๋Š” ๊ฐ์ฒด์˜ ์ฐธ์กฐ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. - Kotlin์˜ === ๋Š” Java์˜ ==์™€ ๋™์ผํ•˜๋‹ค. - Kotlin์˜ == ๋Š” Java์˜ equals์™€ ๋™์ผํ•˜๋‹ค. - String Interning์— ์˜ํ•ด ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๋™์ผํ•œ String์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜๊ฐ€ ๋™์ผํ•œ ๊ฐ์ฒด ์ฃผ์†Ÿ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. - S..

2024.01.16 ๊ฒŒ์‹œ๋จ

TIL

์Šคํƒ€ํ„ฐ ๋…ธํŠธ

๋‚ด๊ฐ€ ์•ฑ ํŠธ๋ž™(iOS, Android)์— ์ฐธ์—ฌํ•œ ๊ณ„๊ธฐ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ์˜ฌํ•ด 2์›”์— ํ•™๊ต๋ฅผ ์กธ์—…ํ•˜๊ณ , ํ•˜๋ฐ˜๊ธฐ ์ฑ„์šฉ๊นŒ์ง€ ๋…ํ•™๋ณด๋‹ค๋Š” ๊ต์œก ํ”„๋กœ๊ทธ๋žจ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋…ํ•™ํ•  ๋•Œ, ์ •๋‹ต์ด ์—†๋Š” ๊ตฌํ˜„์— ๋Œ€ํ•œ ๋‚˜์˜ ์„ ํƒ๊ณผ ๊ทผ๊ฑฐ๊ฐ€ ์˜ณ์€์ง€ ํŒ๋‹จํ•˜๊ธฐ ํž˜๋“ค์—ˆ๋Š”๋ฐ, ํ•™์Šต ์‹œ๊ฐ„ ๋™์•ˆ ํ˜„์—… ๊ฐœ๋ฐœ์ž์ธ ํŠœํ„ฐ ๋‹˜๋“ค์ด ์ƒ์ฃผํ•˜์—ฌ ์งˆ๋ฌธ์„ ๋ฐ›์•„์ค€๋‹ค๋Š” ์ ์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ์•ฑ๊ฐœ๋ฐœ์ž๋Š” ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์ธ๊ฐ€์š”? ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ฒฝํ—˜ํ•ด๋ณด์…จ๋‚˜์š”? ํ•ด๋ณด์…จ๋‹ค๋ฉด ์–ด๋–ค ๊ฒฝํ—˜์„ ํ•˜์…จ๋Š”์ง€๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์‹œ๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ์•ฑ๊ฐœ๋ฐœ์— ๋Œ€ํ•ด ์ฐพ์•„๋ณธ ๊ฒƒ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ํƒ€ ๊ต์œกํ”„๋กœ๊ทธ๋žจ์—์„œ ํŒ€ํ”„๋กœ์ ํŠธ๋กœ ๋Œ€์ค‘๊ตํ†ต ๋ง‰์ฐจ ์ •๋ณด ์•ฑ์„ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. https://gi..

2024.01.16 ๊ฒŒ์‹œ๋จ