Algorithm/programers
[Lv.1] 정수 내림차순으로 배치하기
casylm
2022. 8. 15. 00:36
문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한조건
- n은 1이상 8000000000 이하인 자연수입니다.
Link
https://school.programmers.co.kr/learn/courses/30/lessons/12933
code
def solution(n):
answer = 0
l = []
while True:
# 종료 조건(n이 일의자리가 되면)
if n < 10:
l.append(n)
break
l.append(n % 10)
n = n // 10
# 내림차순 정렬
l = sorted(l, reverse=True)
# list의 원소를 문자열로 만든 후 정수로 변환
answer = int(''.join(map(str, l)))
return answer
1. map
- 함수의 원형 : map(function, iterable)
- 첫번째 매개변수로는 함수가 오고, 두번째 매개변수로는 반복 가능한(iterable) 자료형(list, tuple)이 온다.
- return 값은 map 객체로 이를 list, tuple로 형 변환하여야 한다.
- 함수의 동작 : 두번째 매개변수 자료형(list, tuple) 을 첫번째 매개변수(function)에 하나씩 넣는다.
2. join
- 함수의 원형 : ''.join(list) / '구분자'.join(list)
- 매개변수(list)를 문자열로 반환