๐ ๊ณต๋ถ
์๋
ํ์ธ์. ์ด๋ฒ์๋ RecyclerView๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ๊ตฌ์ฑ์์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. RecyclerView ๊ตฌ์ฑ์์ RecyclerView: ๋ฐ์ดํฐ์ ํด๋นํ๋ ๋ทฐ๊ฐ ํฌํจ๋ ViewGroup. ๋ทฐ ์์ฒด๋ฅผ ๋ปํ๋ฉฐ, ๋ ์ด์์์ RecyclerView๋ฅผ ์ถ๊ฐํด ์ฃผ์ด์ผ ํฉ๋๋ค. RecyclerView.Adapter: ๋ทฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํฉ๋๋ค. RecyclerView.ViewHolder: ๋ชฉ๋ก์ ๊ฐ ๊ฐ๋ณ ์์๋ฅผ ์ ์ํฉ๋๋ค. ๋ทฐํ๋์ ์์ฑ ์์ ์๋ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ๊ฐ ์๊ณ , ์์ฑ ์ดํ RecyclerView๊ฐ ๋ทฐํ๋๋ฅผ ๋ฐ์ดํฐ์ ๋ฐ์ธ๋ฉํฉ๋๋ค. LayoutManager: ๋ชฉ๋ก์ ๊ฐ๋ณ ์์๋ฅผ ์ ๋ ฌํฉ๋๋ค. 1. RecyclerView ๋ฐ์ดํฐ์ ํด๋นํ๋ ๋ทฐ๊ฐ ํฌํจ๋ ViewGroup ์ค์ ํ๋ฉด์์ ๋ชฉ๋ก์ด ํ์๋..
๐ ๊ณต๋ถ
์๋
ํ์ธ์. RecyclerView์ ๋ํด ์์ธํ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ ๋ฆฌํ๋ค ๋ณด๋ ๊ธ์ด ๊ธธ์ด์ง ๊ฒ ๊ฐ์ ์๋ฆฌ์ฆ๋ก ๋๋ ์ ๊ธ์ ์์ฑํ๋ ค๊ณ ํด์. ํ์ฌ ๊ณํ์ผ๋ก๋ ์ฝ 4ํธ์ ์๋ฆฌ์ฆ๋ก ์์ฑํ๋ ค๊ณ ํ์ง๋ง ์ค๊ฐ์ ์๋ต๋๊ฑฐ๋ ๋์ด๋ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. RecyclerView์ ๋ํ์ฌ (feat. ListView) RecyclerView ๊ตฌ์ฑ์์ RecyclerView Deep Dive (feat. RecyclerView.java) RecyclerView CustomView ์ผ์ฃผ์ผ์ ํ๋์ฉ์ ์ฐ๊ฒ ์ง...๋ผ๋ ๋ง์๊ฐ์ง์ผ๋ก ์์ํด ๋ณด๊ฒ ์ต๋๋ค. RecyclerView RecyclerView | Android Developers androidx.appsearch.builtintypes.properties develo..
๐ ๊ณต๋ถ/์๊ณ ๋ฆฌ์ฆ
LIS LIS; Longest Increasing Subsequence ์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ ์์ด original array์ ์ผ๋ถ ์์๋ฅผ ๊ณจ๋ผ๋ด์ ๋ง๋ ๋ถ๋ถ ์์ด ์ค, ๊ฐ ์์๊ฐ ์ด์ ์์๋ณด๋ค ํฌ๋ค๋ ์กฐ๊ฑด์ ๋ง์กฑํ๊ณ , ๊ทธ ๊ธธ์ด๊ฐ ์ต๋์ธ ๋ถ๋ถ ์์ด LIS ๊ธธ์ด ๊ตฌํ๊ธฐ 1. DP - O(N^2) length๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ ๋, DP๋ฅผ ํ์ฉํ์ฌ LIS์ ๊ธธ์ด๋ฅผ ๊ตฌํ ์ ์๋ค. length[i]: i๋ฒ์งธ ์ธ๋ฑ์ค์์ ๋๋๋ ์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ๊ธธ์ด ์ด๋ length.size == array.size ์ด๋ค. for (i in array.indices) { length[i] = 1 for (j in 0 until i) { if (array[j] < array[i]) length[i] = max(length[i..
๐ ๊ณต๋ถ/๐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ Kotlin ํ์ด
1365๋ฒ: ๊ผฌ์ธ ์ ๊น์ค ์ฒซ ์ค์ ์ ๋ด๋์ ๊ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๊ณ , ์ด์ด์ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์๊ฐ N๊ฐ ์ฃผ์ด์ง๋ค. i๋ฒ์งธ ์ค์ ์
๋ ฅ๋๋ ์์ฐ์๋ ๊ธธ ์ผ์ชฝ์ i๋ฒ์งธ ์ ๋ด๋์ ์ฐ๊ฒฐ๋ ๊ธธ ์ค๋ฅธํธ์ ์ ๋ด๋๊ฐ www.acmicpc.net ์๋
ํ์ธ์. ๋ฐฑ์ค์ ๊ผฌ์ธ ์ ๊น์ค ๋ฌธ์ ์
๋๋ค. ์ต์ฅ ์ฆ๊ฐ ์์ด์ ๊ธธ์ด๋ฅผ ์ฐ์ํ๊ฒ ๋๋ ค๋๋ ค ๋ฌผ์ด๋ณด๋ ๋ฌธ์ ์์. ์ด ๋ฌธ์ ๋ฅผ ํ ๋๋ง ํด๋ LIS์ ๊ธธ์ด ๊ตฌํ๋ ๋ฐฉ๋ฒ์ DP, ์ฆ O(N^2)์ธ ๋ฐฉ๋ฒ๋ง ์๊ณ ์์์ด์ 10๋ง...์ด๋ผ๋ ์
๋ ฅ๊ฐ์ ๋ณด๊ณ ๋ญ๊ฐ ์ด์ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ๊ณฑ์
์ด ํท๊ฐ๋ ค์ ๊ณ์ฐ๊ธฐ๋ก 10๋ง*10๋ง์ ํด ๋ดค์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชป ํธ๋ ๋ฌธ์ ๋ค ์ถ์ด ํธ๋ค๋ฅ ๊ตฌ๊ธ๋ง์ผ๋ก ์ ๋ต ํ์ด๋ฅผ ์ฐธ๊ณ ํด์ ํ์์ต๋๋ค. ๊ทผ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋๋ ์ ๋ฒ ์ฌ์ด ๋ฌธ์ ์์ด..
๐ ๊ณต๋ถ/๐ Kotlin
์๋
ํ์ธ์. ์ง๋๋ฒ์ kotlin์ Equality์ ๋ํด ํฌ์คํ
ํ์๋๋ฐ์. ์๋ ํฌ์คํ
์
๋๋ค. Kotlin์ Equality, == vs === Equality | Kotlin kotlinlang.org ๊ณต์๋ฌธ์์ ๋ฐ๋ฅด๋ฉด kotlin์๋ ๋ ๊ฐ์ง ํ์
์ Equality๊ฐ ์กด์ฌํฉ๋๋ค. Structural equality์ Referential equality์ธ๋ฐ์. ๊ฐ๋จํ ๋งํ์๋ฉด Structural equality๋ ๊ฐ์ ๋น๊ตํ๋ ๊ฒ์ด๊ณ , Ref dev-sia.tistory.com Structural equality์ Referential equality, ๋์ผ์ฑ๊ณผ ๋๋ฑ์ฑ์ ๋ํด ์ ๋ฆฌํ๋ฉด์ == ์ฐ์ฐ์์ === ์ฐ์ฐ์์ ์ฐจ์ด์ ๋ํด ์์๋ณด์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ equals๋ฅผ ํธ์ถํ์ ๋ ๋์ผ์ฑ๊ณผ ๋๋ฑ์ฑ์ ๋น..