반응형
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
- n은 1이상 8000000000 이하인 자연수입니다.
출처 : https://programmers.co.kr/learn/courses/30/lessons/12933
풀이 방법
python의 리스트 정렬을 이용하여 풀었습니다. 여기서 list.sort()와 sorted(list)의 차이를 알아보겠습니다.
1
2
3
4
5
6
7
|
a = [4, 1, 3, 2]
a.sort() # 반환값 : None
print(a) # [1, 2, 3, 4]
b = [4, 1, 3, 2]
sorted(b) # 반환값 : [1, 2, 3, 4]
print(b) # [4, 1, 3, 2]
|
cs |
list.sort()는 반환값은 None이지만 원래 리스트의 순서를 정렬합니다. 반면 sorted(list)는 정렬된 리스트를 반환하지만 원래 리스트에는 영향을 주지 않습니다. 필요에 따라 사용하면 될 것 같습니다.
1
2
3
4
5
6
7
8
9
|
c = [4, 1, 3, 2]
sorted(c, reverse=True) # 반환값 : [4, 3, 2, 1]
sorted(c, reverse=False) # 반환값 : [1, 2, 3, 4]
d = [4, 1, 3, 2]
d.sort(reverse=False) # 반환값 : None
print(d) # [1, 2, 3, 4]
d.sort(reverse=True) # 반환값 : None
print(d) # [4, 3, 2, 1]
|
cs |
기본적으로 오름차순 정렬(reverse=False)이며 메서드 안에 reverse=True를 넣어 내림차순 정렬을 할 수 있습니다.
소스 코드
1
2
3
4
5
6
|
def solution(n):
answer = ''
n_sort = sorted(list(str(n)), reverse=True)
for j in n_sort:
answer += j
return int(answer)
|
cs |
반응형
'프로그래머스 공부 > Python' 카테고리의 다른 글
[Level 1 / Python] 자릿수 더하기 (0) | 2019.10.18 |
---|---|
[Level 1 / Python] 자연수 뒤집어 배열로 만들기 (1) | 2019.10.18 |
[Level 1 / Python] 정수 제곱근 판별 (1) | 2019.10.14 |
[Level 1 / Python] 제일 작은 수 제거하기 (1) | 2019.10.12 |
[Level 1 / Python] 짝수와 홀수 (0) | 2019.10.12 |