소소한 컴퓨터 이야기

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

by Cori

문제

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를

리턴하는 함수 solution을 완성해주세요.

 

예를 들어 n이 118372면 873211을 리턴합니다.

 

제한 조건

· n은 1이상 8000000000이하인 자연수입니다. 

 

입출력 예 

n return
118732 873211

풀이

1. Me

def solution(n):
    list = [str(n)[i] for i in range(len(str(n)))]
    list.sort(reverse=True)
    answer = ''
    for x in list:
        answer += x 
    return int(answer)

정수를 문자열로 바꾸고, 인덱스를 이용해 내림차순으로 정렬하여 풀었다. 더 간단하게 하려면, 다음과 같이 작성 

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

2. Others

def solution(n):
    ls = list(str(n))
    ls.sort(reverse = True)
    return int("".join(ls))

내 list = [str(n)[i] for i in range(len(str(n)))] 코드 -> ls = list(str(n)) 으로 작성하니 훨씬 보기 좋아졌다. 

또, for 문을 사용하지 않고 리스트의 조인 연산자를 활용하여 간결하게 처리 !

'CS > Coding Test' 카테고리의 다른 글

자릿수 더하기  (0) 2021.08.21
자연수 뒤집어 배열로 만들기  (0) 2021.08.21
짝수와 홀수  (0) 2021.08.21
최대공약수와 최소공배수  (0) 2021.08.21
평균 구하기  (0) 2021.08.21

블로그의 정보

코딩하는 오리

Cori

활동하기