2024. 3. 5. 14:47, ๐กAlgorithm
๋ฐ์ํ
๋ฌธ์
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()
}
์ค๋ช
- ๋ค์ง๊ธฐ ์ํด ์ฐ์ n์ String ํ์ ์ผ๋ก ๋ณํ
- reversed() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ง์
๐ก reverse() : ๊ทธ ๊ฐ์ฒด ๊ทธ๋๋ก ์ฌ๋ฐฐ์ด
๐ก reversed() : ์๋ ๋ฌธ์์ด์ ๋ชจ๋ ๋ฌธ์๊ฐ ์ญ์์ผ๋ก ํฌํจ๋ ์ ๋ฌธ์์ด์ ๋ฐํ - split("") ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ฉ ์๋ฆ
๐ก split() : ๊ดํธ ์์ ๋ฌธ์ ๋๋ ๋ฌธ์์ด์ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌ. - filter๋ฅผ ํตํด ๊ณต๋ฐฑ ์ ์ธ๋ ๊ฑธ๋ฌ๋ด์ด ํฌ๊ธฐ ์ง์
- .map { it.toInt() } ๋ก ๊ฐ ๋ฌธ์์ด์ ์ ์๋ก ๋ค์ ๋ณํ
๐ก map( ) : ๋ ๊ฐ ์ด์์ ์์๋ฅผ ๊ฐ๋ ์ปฌ๋ ์ (list, set, map)์ ๋ค๋ฃจ๊ธฐ ์ฝ๊ฒ ๋์์ฃผ๋ ํ์ฅ ํจ์
๋ฐ์๋ค์ธ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ map( ) ํจ์๊ฐ ์ธ์๋ก ๋ฐ์๋ค์ฌ ์ฐจ๋ก๋ก ํ๋์ฉ ์ฐ์ฐ์ ์ํํ๊ณ ๊ฐ๊ฐ ์ ์ฅ
it์ด map( ) ํจ์๊ฐ ๋ฐ์๋ค์ธ ๊ฐ์ ๋ํ๋ - ๋ณํ๋ ์ ์๋ค์ 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