~ Today I Learned ~
โ๏ธ Kotlin ๋ฌธ๋ฒ ์ข
ํฉ๋ฐ 2์ฃผ์ฐจ ์๊ฐ
โ๏ธ Gitbook ์ฝํ๋ฆฐ ๋ฌธ๋ฒ ๊ณต๋ถ (๋ฐฐ์ด๊ณผ ์ปฌ๋ ์
, ๋ฐ๋ณต๋ฌธ, ํจ์)
โ๏ธ ๋ฐ์ผ๋ฆฌ Algorithm ๋ฌธ์ ํ์ด
โ๏ธ ํ์ต๋ฒ ํน๊ฐ
1. Kotlin ๋ฌธ๋ฒ ์ข
ํฉ๋ฐ 2์ฃผ์ฐจ ์๊ฐ
- ์ฝ๋ฉ ์ปจ๋ฒค์ (์นด๋ฉ์ผ์ด์ค, ์ค๋ค์ดํฌ์ผ์ด์ค, ํ์ค์นผ์ผ์ด์ค)
- ์ถ๋ ฅ๊ณผ ์ ๋ ฅ (print, println)
- ์๋ฃํ (int, long, short, byte, float, double, char, string, boolean)
- ๋ณ์์ ์์ (var, val)
- ์ฐ์ฐ์์ ์ข ๋ฅ (+,-,*,/,%)(๋์ /์ฆ๊ฐ =, +=, -=, *=, /=, %=, ++, --)(๋น๊ต ==, <=, >=, !=, >, <)
- ์กฐ๊ฑด์์ ์ฌ์ฉ (if, if~else, when)
- ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉ (for, while)
์ด๋ฏธ ์ด์ ์ C, Java, Python ๋ฌธ๋ฒ ๋ฐ ๊ธฐ์ฌ ์ทจ๋ ์์ ๊ณต๋ถํ๋ ๋ถ๋ถ์ด๋ผ ๋น ๋ฅด๊ฒ ์ ๋ฆฌ ์์ด ํ๊ธฐ๋ง ํ๋ค.
๊ธฐ์กด์ ์ ๋ฆฌํ๋ ๊ธฐ์ด ๋ฌธ๋ฒ ๋ถ๋ถ์ ํ์ํ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ ์์ ํ์๋ค.
2. Gitbook ์ฝํ๋ฆฐ ๋ฌธ๋ฒ ๊ณต๋ถ (๋ฐฐ์ด๊ณผ ์ปฌ๋ ์ , ๋ฐ๋ณต๋ฌธ, ํจ์)
[Android ๊ธฐ์ด] 03. ์ฝํ๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ๋ฐฐ์ด๊ณผ ์ปฌ๋ ์
4 ๋ฐฐ์ด๊ณผ ์ปฌ๋ ์ Int, Double ๋ฑ: ํ๋์ ๋ณ์์ ํ๋์ ๊ฐ๋ง ์ ์ฅ ๋ฐฐ์ด(Array), ์ปฌ๋ ์ (Collection - List, Map, Set) : ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ํ๋์ ๋ณ์์ ์ ์ฅ ๋ฐฐ์ด (Array) var ๋ณ์ = Array(๊ฐ์) ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๋ด์
limheejin.tistory.com
[Android ๊ธฐ์ด] 03. ์ฝํ๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ๋ฐ๋ณต๋ฌธ
5 ๋ฐ๋ณต๋ฌธ for: ํน์ ํ์๋งํผ ์ฝ๋๋ฅผ ๋ฐ๋ณต while: ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ ๋๊น์ง ์ฝ๋๋ฅผ ๋ฐ๋ณต for ๋ฐ๋ณต๋ฌธ for (๋ฐ๋ณตํ ๋ฒ์){ // ๋ฐ๋ณต๋ ์คํ ์ฝ๋ } for in .. : ์ผ๋ฐ์ ์ธ ํํ์ for ๋ฐ๋ณต๋ฌธ for (๋ณ์ in ์์๊ฐ.
limheejin.tistory.com
[Android ๊ธฐ์ด] 03. ์ฝํ๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ํจ์
6 ํจ์ ์ฝ๋์ ์คํ์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์์ ์์ [ํ๋ก๊ทธ๋จ ์์] -- ํธ์ถ --> [ํจ์] ๋จ์ํ ๋งํ๋ฉด ์๋๋ก์ด๋ ์ฑ๋ onCreate() ํจ์๋ฅผ ํธ์ถํด์ ์คํ๋๋ค๊ณ ํ ์ ์์ ํจ์์ ์ ์ fun ํจ์๋ช (ํ
limheejin.tistory.com
- ๋ฐฐ์ด๊ณผ ์ปฌ๋ ์
- ๋ฐ๋ณต๋ฌธ
- ํจ์
์ ๋ด์ฉ์ ๋ํด ํ์ตํ์๋ค.
3. ๋ฐ์ผ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด
[Kotlin] ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ - x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์
https://school.programmers.co.kr/learn/courses/30/lessons/12954 [์ค๋ฅ ์ฝ๋] ํ ์คํธ 14๊ฐ ์ค 13, 14๋ฒ ํ ์คํธ ํต๊ณผ ๋ชปํ ์ฝ๋ class Solution { fun solution(x: Int, n: Int): IntArray { var list = IntArray(n) for (i in 0..n-1){ list[i] = x * (
limheejin.tistory.com
โ[Kotlin] ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ฐ๊พธ๊ธฐ (ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ)
๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/12932 ์ ๊ทผ ์์ฐ์ n์ ์คํธ๋ง์ผ๋ก ๋ณํํ๊ณ , ๋ค์ง๊ณ , splitํด์ Char ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๋ฉด ๋์ง ์์๊น? ์๋๋ ๋์ถฉ ๊ตฌํํ ์์์ ํ๋ฆ class Solution { fun
limheejin.tistory.com
- โ๏ธ x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์
- โ๏ธ ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ
- ์ฌ์ค 'ํธ๋ ํ์ดํฐ ๋ํ' ๋ฌธ์ ๋ 1์๊ฐ๋์ ์๋ํด๋ณด์๋๋ฐ ๋ชป ํ์ด์ ๋ฐฐ์ด Kotlin ๋ฌธ๋ฒ๋ง ์๋์ ์ ๋ฆฌํ๋ค.
๐ก .size
- ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ ํ๋กํผํฐ
๐ก slice()
- ๋ฒ์ ์์ ๊ฐ์ ์ถ์ถ
- ์๋ณธ ๋ฆฌ์คํธ์ ์์ ํ ๋ ๋ฆฝ๋ ๋ฆฌ์คํธ๋ก, ์๋ณธ ๋ฆฌ์คํธ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ์ถ๋ ๋ถ๋ถ ๋ฆฌ์คํธ์ ์ํฅ์ ๋ผ์น์ง ์์
๐ก joinToString()
- ์๋ List๋ฅผ print๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํ๊ฑฐ๋ํ๋ฉด toString์ด ํธ์ถ๋๋ฉฐ [ ... ] ์ ๊ฐ์ ํํ๋ก ๋ณํ
- ํ์ง๋ง ๋ฆฌ์คํธ์ ์์๋ค์ ๋ชจ๋ ์ฐ๊ฒฐํ ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ค๊ณ ์ถ์ ๊ฒฝ์ฐ joinToString ํจ์ ์ด์ฉ
- ""์ ์ฃผ๋ฉด ๊ณต๋ฐฑ์์ด ์ฐ๊ฒฐ๋จ
์) ๋ฐฐ์ด๋ช .joinToString("")
๐ก .indices
- Collection, Array ํด๋์ค์ ์ ์ธ๋์ด ์๋ ํ๋กํผํฐ
- ์ปฌ๋ ์ ํ์ ์ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ๋ฐํ
- ์๋ฅผ ๋ค์ด list ๊ฐ์ฒด์ ๋ฐ์ดํฐ๊ฐ 3๊ฐ ๋ค์ด์๋ค๋ฉด, list.indices๋ 0..2๋ฅผ ๋ฐํ
์) for (i in list.indices)๋ for (i in 0..2)๋ก ์ ์ธํ ๊ฒ๊ณผ ๊ฐ์
4. ํ์ต๋ฒ ํน๊ฐ
Not Coder, Be Developer
- TIL, ์๊ณ ๋ฆฌ์ฆ : ์ต๊ดํ, ๋์ ์์ฐ์ ๋ง๋ค๊ธฐ
- ๊ฐ์ธ ๊ณผ์ , ํ ๊ณผ์ : ๋ฐฐ์ด ๋ด์ฉ ๋ณต์ตํ๋ฉฐ ์ฌ๊ณ ๋ ฅ๊ณผ ๊ตฌํ๋ ฅ ์ค์ ์ผ๋ก ๋จ๋ ฅ
- ํ๋ก์ ํธ: ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ , ๊ธฐ์ ์ ๊ณ ๋ฏผ์ ๋์์
- ๊ฐ๋ฐ์ญ๋์ ๊ฒ: ๋ฉํ์ธ์ง, ์๋ฃ ๋๊น์ง ๋๋ฌํด์ผํ๋ ์ค๋ ฅ ๋ชฉํ
๊ธฐ์ ์ ๊ณ ๋ฏผ์ ์ํ๋ ๋ฐฉ๋ฒ
- ๋ก์ง๊ณผ ์ฝ๋์ ๋ํ ์๋ ์๊ฐํ๊ธฐ (๊ทธ๋ฅ ์ด๋ ๊ฒ ์งฐ๋คX ์ด์ ๊ฐ ๋ฐ๋์ ํ์)
- ๊ตฌํํ๋ ๊ธฐ์ , ์คํ์ ๋ชฉ์ ๊ณผ ๊ทผ๊ฑฐ ๊ฐ์ง๊ธฐ
- ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ณ ๋ฏผํ๊ธฐ
~ Trouble Shooting ~
class Solution {
fun solution(n: Int): Int {
for (i:Int in 2..n-1){
if (n % i == 1) return i
}
return 0 // ๋ค์๊ณผ ๊ฐ์ด ๊ดํธ ์์ return 0์ ๋ฃ์ด์ผ ํ๋ค.
}
}
1. solution ํจ์์ return 0 ๊ฐ์ ๋ฃ์ง ์์ ์๊ธด ์ปดํ์ผ ์ค๋ฅ
- ํ์ฌ for๋ฌธ ์์ if๊ฐ ์๊ณ ๊ทธ ์์ return(๋ฐํ๊ฐ)์ด ์์
- ๋ฉ์ธ ํจ์์ธ solution ํจ์๋ฅผ ๋ณด๋ฉด ๋ฐํ๊ฐ์ Int๋ก ์ ์ํ๊ณ ์๋๋ฐ, else์ ๊ฒฝ์ฐ ์ปดํจํฐ๋ ๋ฐํ๊ฐ์ ๊ฐ์ง ๋ชปํจ
- ๋ฐ๋ผ์ ํ์์ ์ผ๋ก๋ผ๋ ๊ทธ ์ด์ธ์ ๊ฒฝ์ฐ์ ๋ํ ์ ์ํ ๋ฐํ๊ฐ return 0์ ์ค์ ํด์ผ ํจ
~ Retrospect ~
์๊ณ ๋ฆฌ์ฆ ํ์ด๋ ๋ฌด๋ฆฌํ์ง ์๊ณ ํ๋ฃจ 2๊ฐ๋ก ์ ํ๋ ค๊ณ ํ๋ค. ์ฌ์ค ์บ ํ๊ฐ ์์๋๋ฉด์๋ ํ๋ฃจ 5~10๊ฐ ํ์ด๋ฅผ ๋ชฉํ๋ก ํ์๋๋ฐ, ์ ์ฐจ ์งํํ ์๋ก ์๋๋ก์ด๋ ๋ฐ ์ฝํ๋ฆฐ ํ์ต๊ณผ ๋ณํํ๊ธฐ์๋ ์ข ๋ถ๋ด์ค๋ฝ๊ณ ์ฃผ๊ฐ์ด ์ ๋๋๋ ๊ฒ ๊ฐ๋ค๋ ๋๋์ด ๋ค์๋ค. ๊ดํ ์ฌ๋ฌ ๊ฐ ๋นจ๋ฆฌ ํ๋ ค๊ณ ํ๋ค ์ฒดํ์ง๋ง๊ณ , ๊พธ์คํ๊ฒ ์ฒ์ฒํ ์ฌ๊ณ ๋ ฅ์ ๋๋ ค๊ฐ์ผ๊ฒ ๋ค.