첫번째 코드
먼저 이 문제를 보고 버블 소트로 풀어보고 싶었다.
그렇기 때문에 붙어 있는 숫자를 각각 리스트로 나누어 넣었어야 했다.
맨 뒤에서부터 버블 소트의 과정을 통해 큰 수를 앞으로 swap 하는 과정을 거쳤고,
한번의 loop가 종료되면 맨 앞의 수는 고정하고 다음 수부터 버블 소트를 진행했다.
이런 과정을 끝까지 반복하면 리스트에 내림차순으로 숫자가 정렬된다.
그리고 다시 하나의 숫자를 만들기 위해 붙이는 과정을 진행한다.
def solution(n):
number = str(n)
N = []
for i in number:
N.append(int(i))
for i in range(len(N), 0, -1):
for j in range(i-1):
if N[j] < N[j+1]:
tmp = N[j]
N[j] = N[j+1]
N[j+1] = tmp
return int(''.join(map(str, N)))
통과!
두번째 코드
사실 버블 소트를 실행해야 할까?
그낭 .sort(reverse = True)를 진행해도 된다.
def solution(n):
number = str(n)
N = []
for i in number:
N.append(int(i))
N.sort(reverse = True)
return int(''.join(map(str, N)))
통과 ㅎㅎ;
링크
programmers/프로그래머스/1/12933. 정수 내림차순으로 배치하기 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
체육복 (2) | 2024.04.26 |
---|---|
가장 가까운 같은 글자 (2) | 2024.04.25 |
나머지가 1이 되는 수 찾기 (0) | 2024.04.20 |
카드 뭉치 (2) | 2024.04.19 |
모의고사 (4) | 2024.04.19 |