Skip to content

Latest commit

ย 

History

History
74 lines (55 loc) ยท 2 KB

kotlin_functions.md

File metadata and controls

74 lines (55 loc) ยท 2 KB

์ฝ”ํ‹€๋ฆฐ ํ•จ์ˆ˜๋“ค

Slice

  • ๋ฐฐ์—ด์„ ์–ด๋–ค ํŠน์ • ๋ฒ”์œ„๋งŒํผ ์ž๋ฅธ๋‹ค.
  • ์ž๋ฅธ ๋’ค, list๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • Usage
val arr = arrayOf(1,2,3,4,5)
println(arr.slice(1..3))
// ๊ฒฐ๊ณผ
[2,3,4]

sorted

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ ฌ ํ•จ์ˆ˜๋‹ค.
  • Collection์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

sortedDescending

  • ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ์ง€์›ํ•œ๋‹ค.
  • Collection์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

sortedWith

  • Comparator๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฐ›์•„ ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ •๋ ฌ ๊ธฐ์ค€์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • compareBy()๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋•Œ๋Š” compareBy() ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋žŒ๋‹ค๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • usage
  1. Comparator
private fun solution(strings: Array<String>, n: Int): Array<String> {
        return strings.sortedWith(Comparator { o1, o2 ->
            if (o1[n] == o2[n]) o1.compareTo(o2)
            else o1[n] - o2[n]
        }).toTypedArray()
    }
  1. compareBy()
private fun solution2(strings: Array<String>, n: Int): Array<String> {
        val result = strings.sortedWith(compareBy({ it[n] }, { it }))
        println(result)
        return result.toTypedArray()
    }
  • ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋žŒ๋‹ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ๋žŒ๋‹ค๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ, ๋‘ ๋ฌธ์ž์—ด์ด ๋™์ผํ•˜๋‹ค๋ฉด ๋‘ ๋ฒˆ์งธ ๋žŒ๋‹ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

joinToString

  • Collection์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • list ๋‚ด์— ํฌํ•จ๋œ ์ž๋ฃŒ๋“ค์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๊ตฌ๋ถ„์ž์™€ ํ•จ๊ป˜ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ด๋‹ค.
  • prefix, postfix ๋“ฑ ์—ฌ๋Ÿฌ ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • usage
val list = listOf("lee", "jung", "park")
println(list) // [lee, jung, park]
println(list.joinToString("")) // leejungpark
println(list.joinToString(" - ")) // lee - jung - park

subList

  • fromIndex ~ toIndex๊นŒ์ง€ list๋ฅผ ์ž˜๋ผ์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • fromIndex๋Š” ํฌํ•จํ•˜๊ณ , toIndex๋Š” ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.