728x90
풀어볼 문제 :
문제 설명 : 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
Step1) 문자열(string)을 한글자씩 끊어서 리스트화 하기 _ list
# 문자열(string)을 한글자씩 끊어서 리스트화 하기
def solution(n):
list_n = list(str(n))
return list_n
# 입력 : 118372
# 출력: ['1', '1', '8', '3', '7', '2']
Step2) 리스트를 내림차순으로 정렬하기 _ sorted
# 리스트를 내림차순으로 정렬하기 _ sorted
def solution(n):
list_n = list(str(n))
return (sorted(list_n,reverse=True))
#출력 : ['8', '7', '3', '2', '1', '1']
[리스트일 경우]
- sorted(정렬할 데이터)
- sorted(정렬할 데이터, reverse 파라미터) *(reverse = False 오름차순 / reverse = True 내림차순)
[딕셔너리일 경우]
- sorted(정렬할 데이터, key 파라미터)
- sorted(정렬할 데이터, key 파라미터, reverse 파라미터)
리스트.sort()와 sorted(리스트)의 차이:
리스트.sort() 는 본래의 리스트를 정렬해서 변환
sorted(리스트) 는 본래 리스트는 내버려두고, 정렬한 새로운 리스트를 반환
Step3) Join으로 리스트를 문자열로 변환
- ''.join(리스트) :
예시)
# arr = ['8', '7', '3', '2', '1', '1']
str = ''.join(arr)
print(str)
#출력: '873211'
- '구분자'.join(리스트) :
예시)
# arr = ['8', '7', '3', '2', '1', '1']
str = ','.join(arr)
print(str)
#출력: 8,7,3,2,1,1
문제에 사용 :
def solution(n):
list_n = list(str(n))
return ''.join(sorted(list_n,reverse=True))
#출력 : '873211'
Step4) int()로 정수형으로 변경
# 정답
def solution(n):
list_n = list(str(n))
return int(''.join(sorted(list_n,reverse=True)))
#출력 : 873211
참고 : https://blockdmask.tistory.com/573
728x90
'내일배움캠프 > Python' 카테고리의 다른 글
[Python] 함수 (1) | 2024.12.13 |
---|---|
[Python]포맷팅_ { }, f-string (0) | 2024.12.13 |
[Python]for, while 반복문 연습문제 (0) | 2024.12.11 |
[Python]리스트의 슬라이싱, 정렬 (1) | 2024.12.09 |
[Python]함수의 매개변수 (0) | 2024.11.22 |