๋ฐ˜์‘ํ˜•

kotlin study 4

[Kotlin] lateinit๋ž€?

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์˜ lateinit ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. lateinit ์ฝ”ํ‹€๋ฆฐ์—์„œ "lateinit"๋Š” ๋ง ๊ทธ๋Œ€๋กœ late + init์ด ํ•ฉ์ณ์ง„ ๋œป์œผ๋กœ ๋‚˜์ค‘ ์ดˆ๊ธฐํ™”๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์ง€์—ฐ ์ดˆ๊ธฐํ™” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Use ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ์ฆ‰์‹œ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๊ณ , ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Condition ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์ผ ๋•Œ๋งŒ lateinit๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” non-null ํƒ€์ž…์ด์–ด์•ผ ํ•˜๋ฉฐ, primitive type์ด๋‚˜ String ๋“ฑ์˜ ํด๋ž˜์Šค ํƒ€์ž… ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์ฆ‰์‹œ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™”๋˜๊ธฐ ์ „์— ์‚ฌ์šฉํ•˜๋ฉด ..

Programming/Kotlin 2023.05.10

[Kotlin] ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ๊ฒฝ๊ณผ์ผ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• (get the day of the year as an integer in Kotlin)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ๊ฒฝ๊ณผ์ผ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ž…๋ ฅ ๋ฐ›์€ ๋‚ ์งœ๋กœ ํ•ด๋‹น ๊ฒฝ๊ณผ ์ผ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /** * You can edit, run, and share this code. * play.kotlinlang.org */ fun main() { // ์œค๋…„ ํŒ๋ณ„ ๋ฉ”์†Œ๋“œ (1 ์œค๋…„, 0 ํ‰๋…„) fun isLeap(year: Int): Int { return if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) 1 else 0 } fun dayOfYear(year: Int, month: Int, day: Int): Int {..

Programming/Kotlin 2023.03.02

[Kotlin] ์ฝ”ํ‹€๋ฆฐ ๋ฌธ์ž์—ด ๊ต์ฒดํ•˜๊ธฐ / ๋ฌธ์ž์—ด์˜ ํŠน์ • ์ธ๋ฑ์Šค์— ๋ฌธ์ž ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ ๋ฌธ์ž์—ด (string)์˜ ํŠน์ • ์ธ๋ฑ์Šค ๋ฌธ์ž ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์ธ๋ฑ์Šค ๋ฌธ์ž ๋ฐ”๊พธ๋Š” ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ, ์ €๋Š” substring() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด "20230116"์ด๋ผ๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ธ๋ฑ์Šค 4 ์œ„์น˜์— "12"๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. substring() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ต์ฒดํ•  ๋ฌธ์ž๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ , + ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋‚˜๋จธ์ง€ ๋ฌธ์ž์—ด์„ ๋”ํ•ด์ค๋‹ˆ๋‹ค. println()์„ ํ†ตํ•ด ๋‚˜์˜จ ๊ฒฐ๊ณผ๋Š” "20231216" ์ž…๋‹ˆ๋‹ค. "01"์ด "12"๋กœ ์ž˜ ๋ฐ”๋€Œ์–ด ๋™์ž‘ํ•˜๊ณ  ์žˆ๋„ค์š” :) fun main() { var string = "20230116" val char = "12..

Programming/Kotlin 2023.01.16

[Kotlin] array list ์— item ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• / ๋ชฉ๋ก์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์˜ ๋ชฉ๋ก์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด arrayList ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. val arrayList = ArrayList() addAll() ํ˜น์€ add() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด array List์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. arrayList.addAll(countryList) arrayList.add(0, categoriesData(41, "All Categories")) arrayList.add(1, categoriesData(42, "Favorite"))

Programming/Kotlin 2023.01.08
๋ฐ˜์‘ํ˜•