#12933
๐ Question ?
https://school.programmers.co.kr/learn/courses/30/lessons/12933
class Solution {
fun solution(n: Long): Long {
var answer: Long = 0
return answer
}
}
๐งฉ Thought Process
- 10์ฉ ๋๋๋ฉด์ ๋ชจ๋ ์๋ฆฟ์๋ฅผ array์ ๋ฃ๊ธฐ
- array ์์ ์๋ ๊ฐ์ sortDescending() ํจ์๋ฅผ ์ด์ฉํด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
- ๋ค์ ์ซ์ ๋ชจ์ผ๊ธฐ
import kotlin.math.pow
class Solution {
fun solution(n: Long): Long {
var answer: Long = 0
var m = 1
var nList = mutableListOf<Int>()
var nString = n.toString()
var nCharArray = nString.toCharArray()
var arraySize = nCharArray.size
for (i in 0 until arraySize) {
nList.add(nCharArray[arraySize-1-i].digitToInt())
}
nList.sortDescending()
for(j in 0 until arraySize) {
m *= 10
answer += (nList.get(arraySize-j-1))*m
}
return answer/10
}
}
์ฒซ ์๋ ์คํจ์ฐ..
๋๋ฒ์งธ ์๋:
class Solution {
fun solution(n: Long): Long {
var answer: Long = 0
var m = 1
var nString = n.toString()
var nCharArray = nString.toCharArray()
var arraySize = nCharArray.size
var nLongArray = IntArray(arraySize)
for (i in 0 until arraySize) {
nLongArray[i] = nCharArray[i].digitToInt()
}
nLongArray.sortDescending()
for (j in 0 until arraySize) {
m *= 10
answer += nLongArray[arraySize-j-1]*m
}
return answer/10
}
}
๋ ์คํจ์ฐ..
์๊ฐํด๋ณด๋ 0์ ๊ณ ๋ คํ์ง ์์ ๊ฒ ๊ฐ๋ค. ํ์.. ์๋ฌด๋๋ ๋ชจ๋ฅด๊ฒ ์ด์ ์ค๋๋ ์ฐพ์๋ณด๊น ..
๐ Answer
ํ์ด #1
์๋ ์ ๋ค๋ฅธ ์ฌ๋๋ค ํ์ด๋ ์ด๋ ๊ฒ ๊ฐ๋จํ๊ณ ์งง์์ง... ๋ฐ์ฑํ์..
class Solution {
fun solution(n: Long): Long = n.toString().toMutableList().sortedDescending().joinToString("","","").toLong()
}
๊ฐ ํจ์๊ฐ ์ด๋ ํ ๊ฐ์ ์ถ๋ ฅํ๋ ์ง ํ์ธํ๊ธฐ ์ํด์ ๋ค์ ์ฝ๋๋ฅผ ์คํ์์ผ ๋ณด์๋ค.
์ถ๋ ฅ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์๋ค.
toMutableList()๋ฅผ ์ฌ์ฉํ์ ๋ ์์ฐ์ค๋ฝ๊ฒ ๋ชจ๋ ์ซ์๋ฅผ ๋ฐ๋ก ์ธ์ํ๊ณ ๋ฐ๋ก ๋ฆฌ์คํธ์ ์ ์ฅํด์ฃผ๋ ๋ณด๋ค ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ๊ฒ ์ ๋ ฅ๋ ๊ฐ์ ์ ์ ๋ก ์ ์ํ์ผ๋ก ์ธ์ํ๋๋ณด๋ค..
๋๋ ์ด๋ ๊ฒ ๊ฐ๋จํ๊ฑด์ค ๋ชฐ๋์ง์ด..
ํ์ด #2
class Solution {
fun solution(n: Long) = String("$n".toCharArray().sortedArrayDescending()).toLong()
}
String() ํจ์๋ฅผ ์ด์ฉํด์ ๋ฌธ์ํ์ผ๋ก ๋ฐ๊พผํ ๊ทธ ๋ฌธ์ํ์๋ n ์ซ์๋ฅผ ๋ฃ๊ณ ๊ทธ๊ฑธ CharArray๋ก ๋ฐ๊พธ๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐ๊พธ๊ณ ๋ง์ง๋ง์ ์๋ง์ ์๋ฃํ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ์๋ค.
๐ Result
๐ Comment
์ฌ๊ธฐ์์ ํ์คํ๊ฒ ๋ฐฐ์ด๊ฑด ๋ฌธ์ํ์ array๋ก ๋ฐ๊พธ์์ ๋ ๊ฐ ๋ฌธ์๋ฅผ ํ element๋ก ๋ฃ๋๋ค๋ ์ ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ํ์ผ๋ก ๋์ด์ง array๋ chararray์ ์ซ์๋ง ์์ผ๋ฉด sortedArrayDescending์ด๋ sortedDescending์ ์๋ฃํ์ ๋ฐ๊พธ์ด์ฃผ์ง ์์ ์ํ์์ ํด์ค ์ ์๋ค๋ ์ ์ด๋ค. ๋๋ ์๋ฃํ์ด ์ธํธ๋ ๋๋ธ์ด์ด์ผ์ง๋ง ๋์ผ๋ฉ ํจ์๊ฐ ์คํ ๋๋์ค ์๊ณ ์ด๋ฆฌ์ ๋ฆฌ ๋ฐ๊พธ์๋ ๊ฒ ๊ฐ๋ค.