Skip to content

opnay/KotlinAlgorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Kotlin Algorithm Practice

์ด ๋ ˆํฌ๋Š” Kotlin์„ ์ด์šฉํ•œ ์•ˆ๊ณ ๋ฆฌ๋“ฌ ์—ฐ์Šต์šฉ ๋ ˆํฌ๋กœ์จ ๋ฐฑ์ค€์˜จ๋ผ์ธ์ €์ง€ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋“ฑ์˜ ์•Œ๊ณ ๋ฆฌ๋“ฌ ๋ฌธ์ œ ์ถœ์ œ ์‚ฌ์ดํŠธ์˜ ๋ฌธ์ œ๋ฅผ ์ง์ ‘ํ’€์–ด ์˜ฌ๋ฆฌ๋Š” ๋ ˆํฌ์ž…๋‹ˆ๋‹ค.

โ€ผ๏ธ ์ฃผ์˜ // ๋ณธ ๋ ˆํฌ์˜ ์†Œ์Šค๊ฐ€ ๋„ˆ๋ฌด ๋ชปํ–ˆ๋‹ค ํ•˜๋”๋ผ๋„, ๋ฌธ์ œ์˜ ๋ชฉ์ ๊ณผ ๋‹ค๋ฅด๊ฒŒ ํ’€๋ ธ๋‹ค ํ•˜๋”๋ผ๋„, ๋ ˆํฌ ๊ด€๋ฆฌ์ž ๋˜๋Š” ์ œ3์ž์™€์˜ ์˜๊ฒฌ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์„œ๋กœ์˜ ์•ˆ๋ถ€๋ฅผ ๋ฌผ์œผ๋ฉฐ ๊ฐ€์กฑ์‚ฌ๋Š” ๋ฌผ์–ด๋ณด์ง€๋ง™์‹œ๋‹ค. ์—ฌ๊ธด ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ํ’€๊ธฐ์œ„ํ•œ ๋ ˆํฌ์ด์ง€ ์œ ์ €๊ฐ„์˜ ๊ฐœ์ธ์‚ฌ๋ฅผ ๋ฌผ์–ด๋ณด๊ธฐ์œ„ํ•œ ๊ณต๊ฐ„์ด ์•„๋‹™๋‹ˆ๋‹ค.

โ€ผ๏ธ ์ฃผ์˜ // ๋ณธ ๋ ˆํฌ์˜ ๋ผ์ด์„ ์Šค๋Š” ๋‹ค์Œ๋งŒ ์ง€ํ‚ค๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ๋ ˆํฌ์— ์˜ฌ๋ผ์˜ค๋Š” ์ฝ”๋“œ๋“ค์€ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ์— ๊ฐ€์ ธ๊ฐ€์…”๋„๋˜๊ณ , ๊ธฐํƒ€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•˜์…”๋„๋˜์ง€๋งŒ, ์ถœ์ฒ˜๋งŒํผ์€ ๋‚จ๊ฒจ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ๋“ฌ๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์†Œ์Šค๋ฅผ ๋ณด๊ธฐ์ „์—!!!

์ด ๋ ˆํฌ๋ฅผ ๋ณด๊ธฐ์ „์— ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์‹œ๊ณ  ๋ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ผ๋ฉฐ, ๋‹ค๋ฅธ์‚ฌ๋žŒ์€ ์–ด๋–ป๊ฒŒ ํ’€์—ˆ๋‚˜, ๋‹ค๋ฅธ๋ฐฉ๋ฒ•์ด ์žˆ๋‚˜ ์‚ดํŽด๋ณด๊ธฐ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ œ๊ฐ€ ํ’€์–ด๋†“์€ ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ๋‚˜์ค‘์— ํ•œ๋ฒˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•˜๋Š” ๊ฒธ ์˜ฌ๋ฆฌ๋Š” ๋ ˆํฌ์ด๋‹ˆ ๊ด€๋ฆฌ๊ฐ€ ์˜ค๋žซ๋™์•ˆ ์•ˆ๋˜๋”๋ผ๋„ ์ดํ•ด๋ถ€ํƒ๋ฐ”๋ž๋‹ˆ๋‹ค.

์†Œ์Šค์˜ ๋ฌธ์ œ๋Š” ์–ด๋””์„œ ๋ณผ ์ˆ˜ ์žˆ๋‚˜์š”?

๋ณธ ๋ ˆํฌ๋Š” ๋ฌธ์ œ์˜ ๋‚ด์šฉ์€ ์ง์ ‘์˜ฌ๋ฆฌ์ง€ ์•Š์œผ๋ฉฐ, ํ•ด๋‹น ๋ฌธ์ œ์˜ ๋งํฌ๋ฅผ ์ฃผ์„์œผ๋กœ ๋‹ฌ์•„๋†“๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์ค€์˜จ๋ผ์ธ์ €์ง€์˜ ๋‹จ๊ณ„๋ณ„ ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ๋ก์„ ๊ธฐ์ค€์œผ๋กœ ์˜ฌ๋ฆฌ๊ฒŒ๋˜๋ฉฐ, ์ถ”ํ›„์˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์€ ๋ณ„๋„์˜ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ์ •๋ฆฌํ•˜๋„๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ดํ•ด๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ”๋“œ์— ์ฃผ์„์„ ๋‹ฌ์•„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์ง€๋งŒ, ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์€ ๊ฐœ์ธ์ ์œผ๋กœ ํ•ด๋“œ๋ฆฌ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ์—๊ฒ ๊ตฌ๊ธ€์‹ ์ด ๊ณ„์‹ญ๋‹ˆ๋‹ค. ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด์‹œ๋ฉด ๋งŽ์€ ๋‹ต์„ ์ฐพ์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ๊ฒŒ ๋” ๋‚˜์€๊ฑฐ ๊ฐ™์€๋ฐ...

์ข€๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์ด๋‚˜ ๊ธฐํƒ€ ๋‹ค๋ฅธ ์˜๊ฒฌ์ด์žˆ์œผ๋ฉด ํ•ด๋‹น ๋ฌธ์ œ์—๋Œ€ํ•œ ํŒŒ์ผ์— ๋Œ“๊ธ€์ด๋‚˜ ์ด์Šˆ, ํ’€๋ฆฌํ€˜์ŠคํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์˜๊ฒฌ์„ ์ˆ˜๋ ดํ•ด ๋‚ด์šฉ์„ ๋ฐ”๊พธ๋„๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณธ๋ ˆํฌ์˜ ๊ทœ์น™

๋ชจ๋“  ์ปค๋ฐ‹์€ ์˜์–ด๋กœ ํ•ฉ์‹œ๋‹ค.

์˜์–ด ์ž‘๋ฌธ ์—ฐ์Šต์„ ํ•ด๋ด…์‹œ๋‹ค. ์˜คํ”ˆ์†Œ์Šค ๋ ˆํฌ๋ฅผ ์‚ฌ์šฉํ• ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด Git์„ ์‚ฌ์šฉํ• ๋•Œ ์ปค๋ฐ‹์€ ์˜์–ด๋กœํ•˜๋Š” ์—ฐ์Šต์„ ํ•ด๋ด…์‹œ๋‹ค.

๋˜ํ•œ ์ปค๋ฐ‹ํ• ๋•Œ git commit --signoff ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ์ปค๋ฐ‹์— Signed-off-by: ์ด๋ฆ„ <์ด๋ฉ”์ผ>์„ ์ถ”๊ฐ€ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ฝ”๋“œ ์Šคํƒ€์ผ ๊ทœ์น™

/*
 * ๋ฉ”์ธ
 *  kotlin 1.3์ดํ›„ main์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅ ํ•˜์ง€๋งŒ
 *  ์ด์ „๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ ์œ„ํ•ด ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ
 */
fun main(args: Array<String>) {

}

/* ๊ด„ํ˜ธ */
// ํ•จ์ˆ˜, ๋ฉ”์†Œ๋“œ๋Š” ๋ถ™์ด๊ณ , ํ‚ค์›Œ๋“œ๋Š” ๋„์šด๋‹ค
while (..) {}
if (..) {}
println("...")
fun test(arg: Int) {}

// ๋ชจ๋“  ๋ธ”๋Ÿญ์˜ ์‹œ์ž‘์€ ์‚ฌ์šฉํ•œ ํ‚ค์›Œ๋“œ, ๋ฉ”์†Œ๋“œ์˜ ์˜†์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
if (...) {

}

// ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋žŒ๋‹ค ๋ณ€์ˆ˜๋Š” _๋กœ ํ‘œ๊ธฐ
str.forEach { _ -> }
str.map { it ->
  println(it)
}

// ๋ฐ˜๋ณต๋ฌธ ํ—ˆ์šฉ
while ((i++) == 0) {}
for (i in 0 .. 1) {}
(0 .. 1).forEach { i -> }

// ๊ฒฐ๊ณผ ๋ณ€์ˆ˜ ์ด๋ฆ„์€ answer๋กœ ํ•˜์ง€๋งŒ, ๋ฌธ์ œ ๋‚ด์šฉ์— ๋”ฐ๋ผ์„œ ๋ณ„๋„์˜ ์ด๋ฆ„์„ ์‚ฌ์šฉ
var answer: Int = 0
var kg: Int = 0
var year: Int = 0

// ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ์ด๋ฆ„์€ ์นด๋ฉœ์ผ€์ด์Šค ์ด์šฉ
val myName
fun testFunction(arr: ArrayList<String>, isTure: Bool) {}

// ์ฝ”๋“œ์˜ ๊ธธ์ด๋Š” 120์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ค„๋„˜๊น€์„ ํ•ฉ๋‹ˆ๋‹ค.
// ๋ฐฐ์—ด์€ ๋„ˆ๋ฌด ์งง์ง€์•Š์œผ๋ฉด ์„ธ๋กœ๋กœ ์ •๋ ฌํ•ด ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.
val arr: List<List<Int>> =
  listOf(
    listOf(1, 2, 3),
    listOf(1, 2, 3),
    listOf(1, 2, 3)
  )

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages