Coding/Programmers

[코딩테스트 입문] 정수 내림차순으로 배치하기(Python3)

Soo_buglosschestnut 2023. 1. 3. 00:49

[코딩테스트 입문] 정수 내림차순으로 배치하기(Python3)


https://school.programmers.co.kr/learn/courses/30/lessons/12933?language=python3 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

def solution(n):
    num = [int(i) for i in str(n)]
    tmp = 0
    for i in range(len(num)):
        for j in range(len(num)):
            if num[i] > num[j]:
                tmp = num[i]
                num[i] = num[j]
                num[j] = tmp
            else:
                continue
    return int(''.join(map(str, num)))

C언어때 배운거 생각나서.. 코드를 써봣다ㅎㅎ 첨에 부등호 반대로 표시해서 왜 오름차순으로 나오지..? 했다ㅎㅎ

python의 sort함수가 있지만 이렇게 풀어보았다. 

그리고 join 숫자형 list를 단일 값으로 변경해보았다.

 

다른사람 코드

def solution(n):
    ls = list(str(n))
    ls.sort(reverse = True)
    return int("".join(ls))

sort() / sorted() : 오름차순 정렬

sort(reverse=True) sorted(reverse=True): 내림차순 정렬

 

sorted()는 기존 리스트 변경 X > 새로운 리스트 반환