20번 - 정수 내림차순으로 배치하기
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건- n은 1이상 8000000000 이하인 자연수입니다.
n | return |
118372 | 873211 |
<나의 풀이>
def solution(n):
answer = list(str(n))
answer.sort(reverse = True)
return int("".join(answer))
- n을 str()을 통해 문자열로 변환한 값을 list()를 통해 문자열의 각 문자를 원소로 가지는 리스트로 만들어 answer이라는 변수에 대입
- answer을 sort(reverse=True)를 통해 내림차순으로 정렬
- "".join을 이용하여 answer의 각 원소(문자)를 합친 문자열을 int()를 통해 정수로 변환한 값이 답
- list(문자열): 문자열의 각 문자를 원소로 가지는 리스트 반환
- list.sort(): 리스트 정렬
-list.sort() 또는 list.sort(reverse=False): 오름차순 정렬
-list.sort(reverse=True): 내림차순 정렬 - 구분자.join(문자열 리스트): 문자열 리스트의 각 원소들 사이사이에 구분자를 넣어서 합친 문자열을 반환한다.
ex) '_'.join([a,b,c]) → 'a_b_c' // ex) "".join(["a","b","c"]) → abc
파이썬은 왜 해도해도 어려운 느낌인지 모르겠다. 내가 아직 어떤 갈피를 못 잡은건지 아님 제대로 공부하고 있지 않은 건지 모르겠다. 약간 나만 뒤쳐지고 있다는 생각이 든다 ㅠㅠㅠㅠ 강의를 들을땐 다 잘 이해가 된다 근데 코드카타 풀때 과제를 내줄때 응용이 안된다는것이 큰 문제이다. 낼부터는 더 집중 잘해서 꼭 파이썬 잘 풀릴 수 있도록 !!
'CODEKATA' 카테고리의 다른 글
python codekata 22번 - 두 정수 사이의 합 (0) | 2024.07.15 |
---|---|
Python codekata 21번 - 하샤드 수 (0) | 2024.07.12 |
Python CODEKATA 17번, 18번 (0) | 2024.07.09 |
SQL CODEKATA 51번 (0) | 2024.07.09 |
SQL CODEKATA 47번 48번 (1) | 2024.07.08 |