본문 바로가기
코딩 테스트/프로그래머스

정수 내림차순으로 배치하기

by ornni 2024. 4. 21.
728x90
반응형

첫번째 코드

 

먼저 이 문제를 보고 버블 소트로 풀어보고 싶었다.

그렇기 때문에 붙어 있는 숫자를 각각 리스트로 나누어 넣었어야 했다.

맨 뒤에서부터 버블 소트의 과정을 통해 큰 수를 앞으로 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)))

 

통과 ㅎㅎ;


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12933.%E2%80%85%EC%A0%95%EC%88%98%E2%80%85%EB%82%B4%EB%A6%BC%EC%B0%A8%EC%88%9C%EC%9C%BC%EB%A1%9C%E2%80%85%EB%B0%B0%EC%B9%98%ED%95%98%EA%B8%B0

 

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