문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
| n | return |
| 118372 | 873211 |
나의 풀이
[Python(파이썬)]
def solution(n):
a = sorted(list(map(int, str(n))), reverse=True)
return int(''.join(list(map(str,a))))
학습한 내용
- map(함수, 리스트) - 리스트 또는 튜플의 요소를 지정된 함수로 처리하는 함수
여러 데이터를 한번에 일괄적으로 변화하는 기능
a = ['1','2','3','4']
map(int,a)
# 아래의 형태로 변환된다.
a = [1,2,3,4]
- filter() - 리스트의 요소에서 어떤 함수의 조건에 일치하는 값만 반환하고 싶을 때 사용
- 다른 사람 코드
# 굳이 map()이용하여 int형으로 변환하지 않고 바로 정렬해도 가능함을 알았다.
int(''.join(sorted(list(str(n)),reverse = True)))
문제 출처
코딩테스트 연습 - 정수 내림차순으로 배치하기
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이
programmers.co.kr
'[Python] Programmers > Level1' 카테고리의 다른 글
| [프로그래머스/Level1] 제일 작은 수 제거하기 (0) | 2021.06.24 |
|---|---|
| [프로그래머스/Level1] 정수 제곱근 판별 (0) | 2021.06.24 |
| [프로그래머스/Level1] 자연수 뒤집어 배열로 만들기 (0) | 2021.06.22 |
| [프로그래머스/Level1] 자릿수 더하기 (0) | 2021.06.22 |
| [프로그래머스/Level1] 이상한 문자 만들기 (0) | 2021.06.22 |
댓글