백준 1427번 '소트인사이드' - [Python] str()

림민지·2025년 3월 11일

#️⃣ 1427번

🔗 문제 링크
https://www.acmicpc.net/problem/1427
🔗 풀이 Github 주소
https://github.com/minjee2758/CodingTest/blob/main/BaekJoon/1427.py

문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.


✏️ 풀이

주어진 수를 한자리씩 리스트에 넣은 후, 정렬하고 뒤집어서 출력해주면 된다.

방법1

N = int(input()) #N 입력받기
L= [] # N을 분해해서 넣을 리스트 선언

while True : #N이 10보다 작아질 때까지 반복
    if N<10 :
        break
    else :
        L.append(N%10) #N을 10으로 나누었을때 나머지 리스트에 추가
        N = (N- N%10)//10 #N에서 마지막자리수 빼고 10으로 나누기
L.append(N) #마지막 N 누락되지 않게 넣어주기
L.sort() #순서댇로 리스트 내부 숫자 정렬
L.reverse() #내림차순이니까 뒤집어주기
for i in L :
    print(i, end="") #리스트 내부 숫자 출력

✨ 방법2 - str

파이썬 내장함수 str
: 정수나 실수를 문자열 형태로 바꿔줌!
입력받은 숫자2143을 int가 아닌 String형태로 인식한 후, 한자리씩 읽어내려가서 int로 치환 후 뱉어내면 됨

N = int(input())
L = []
for i in str(N) :
    L.append(int(i))
L.sort()
L.reverse()
for i in L :
    print(i, end="")
profile
@lim_128

0개의 댓글