โ“[Kotlin] ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ธฐ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜)
๋ฐ˜์‘ํ˜•

 

 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/12932

 

 

 


 

์ ‘๊ทผ

 

  • ์ž์—ฐ์ˆ˜ n์„ ์ŠคํŠธ๋ง์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋’ค์ง‘๊ณ , splitํ•ด์„œ Char ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ๋ฉด ๋˜์ง€ ์•Š์„๊นŒ?
  • ์•„๋ž˜๋Š” ๋Œ€์ถฉ ๊ตฌํ˜„ํ•œ ์˜์‹์˜ ํ๋ฆ„

 

class Solution {
    fun solution(n: Long): CharArray {
                
        val list = n.toString().toCharArray().reverse()
        return list
                
    }
}

 

 

 


 

์„ฑ๊ณต ์ฝ”๋“œ

 

class Solution {
    fun solution(n: Long): IntArray =
            n.toString()
            .reversed()
            .split("")
            .filter { it != "" }
            .map { it.toInt() }
            .toIntArray()
}

 

 


 

์„ค๋ช…

 

  1. ๋’ค์ง‘๊ธฐ ์œ„ํ•ด ์šฐ์„  n์„ String ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜
  2. reversed() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋’ค์ง‘์Œ
    ๐Ÿ’ก reverse() : ๊ทธ ๊ฐ์ฒด ๊ทธ๋Œ€๋กœ ์žฌ๋ฐฐ์—ด
    ๐Ÿ’ก reversed() : ์›๋ž˜ ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์—ญ์ˆœ์œผ๋กœ ํฌํ•จ๋œ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜
  3. split("") ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์ž๋ฆ„
    ๐Ÿ’ก split() : ๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์ž ๋˜๋Š” ๋ฌธ์ž์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ.
  4. filter๋ฅผ ํ†ตํ•ด ๊ณต๋ฐฑ ์ œ์™ธ๋Š” ๊ฑธ๋Ÿฌ๋‚ด์–ด ํฌ๊ธฐ ์ง€์ •
  5. .map { it.toInt() } ๋กœ ๊ฐ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋‹ค์‹œ ๋ณ€ํ™˜
    ๐Ÿ’ก map( ) : ๋‘ ๊ฐœ ์ด์ƒ์˜ ์š”์†Œ๋ฅผ ๊ฐ–๋Š” ์ปฌ๋ ‰์…˜(list, set, map)์„ ๋‹ค๋ฃจ๊ธฐ ์‰ฝ๊ฒŒ ๋„์™€์ฃผ๋Š” ํ™•์žฅ ํ•จ์ˆ˜
    ๋ฐ›์•„๋“ค์ธ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ map( ) ํ•จ์ˆ˜๊ฐ€ ์ธ์ž๋กœ ๋ฐ›์•„๋“ค์—ฌ ์ฐจ๋ก€๋กœ ํ•˜๋‚˜์”ฉ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฐ๊ฐ ์ €์žฅ
    it์ด map( ) ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์•„๋“ค์ธ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ„
  6. ๋ณ€ํ™˜๋œ ์ •์ˆ˜๋“ค์„ toIntArray()๋กœ ํ˜• ๋ณ€ํ™˜

 

 

 


 

์˜ค๋ฅ˜๊ฐ€ ๋‚œ ์ด์œ  ๋ฐ ๊ถ๊ธˆ์ฆ

 

  • filter์™€ map๋ถ€๋ถ„์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋ช…ํ™•ํžˆ ์žกํ˜€์žˆ์ง€ ์•Š์•„์„œ ์ƒ๊ฐํ•˜๋Š”๋Œ€๋กœ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜๋‹ค.
  • ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๋ถ€๋ถ„์„ CharArray๋กœ ๋ฐ”๊พธ๊ณ  ๊ทธ๋ƒฅ ๊ฒฐ๊ณผ๋ฅผ CharArray๋กœ ๋ฐ›์„ ์ˆ˜๋Š” ์—†์„๊นŒ?
  • ๋ฌธ๋ฒ• ์˜์—ญ์„ ์‹ฌํ™”๊นŒ์ง€ ๊ณต๋ถ€ํ•˜๊ณ  ๋‹ค์‹œ ์™€๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 


 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

 

class Solution {
    fun solution(n: Long): IntArray {
        return n.toString().reversed().map { it.toString().toInt() }.toIntArray()
    }
}
class Solution {
    fun solution(n: Long): IntArray {
        var answer = intArrayOf()

        var str = n.toString()


        var j = 0
        answer = IntArray(str.length)
        for(i in str.length-1 downTo 0) {

            //println(str[i].toString().toInt())
            answer[j] =str[i].toString().toInt()
            j+=1
        }

        return answer
    }
}

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T