Lv1. 정수 내림차순으로 배치하기

Hello·2022년 7월 23일
0

코딩테스트 연습 > 정수 내림차순으로 배치하기

1. 풀이 설명

-python: 입력받은 n을 string 으로 변환한 후, 오름차순 정렬한다.

  • kotlin: n 을 String -> CharArray -> ArrayList<Long> 순서로 변경한 다음, 오름차순 정렬한 후에 Long 형으로 반환한다.
    (CharArray -> ArrayList<Long> 변환 없이 오름차순 정렬해도 동일하다.)

2. 나의 풀이

python

def solution(n):
    return int(''.join(sorted(str(n), reverse=True)))

kotlin

fun solution(n: Long): Long =
	n.toString().toCharArray().map {
    	(it - '0').toLong()
    }.sortedDescending().joinToString("").toLong()

3. 배운점

python

  1. 오름차순 정렬: sorted(list, reverse=True), list 위치에 string 이 올 수 있다.
  2. kotlinlist.jointToString(""): ''.join(list)
  3. 숫자가 포함된 리스트를 문자열로 변환
list = ['Hello', 'World', 5]
' '.join(str(item) for item in list)

kotlin

  1. 숫자 CharInt로 변경: c - '0'
  2. 내림차순 정렬: sortedDescending()
  3. 개선된 코드
	fun solution(n: Long): Long =
        n.toString().toCharArray().sortedDescending().joinToString("").toLong()
profile
안녕하세요 :)

0개의 댓글