백준 알고리즘

백준 1427번 소트인사이드 문제풀이, 파이썬

고인호 2023. 3. 5. 16:30
반응형

백준 1427번 : 소트인사이드 문제풀이 [파이썬] 


<문제>

 

1427번 문제의 내용은 아래와 같습니다. 

소트인사이드 

 

문제

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

입력

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

출력

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

예제 입력 1 복사

2143

예제 출력 1 복사

4321

예제 입력 2 복사

999998999

예제 출력 2 복사

999999998

예제 입력 3 복사

61423

예제 출력 3 복사

64321

예제 입력 4 복사

500613009

예제 출력 4 복사

965310000
 

 


 

 

<작성한 코드>

 

#1427번 
N = input()
num =[]
for i in range(len(N)):
  num.append(N[i])
num.sort(reverse = True)
ans = ''.join(num)
print(ans)

 

 

<코드 풀이>

본 문제는 주어진 숫자의 각 자리수를 내림차순으로 정렬하는 문제다.

정렬 알고리즘을 따로 구현해도 되지만,

그게 귀찮아서 내장함수인 sort()를 쓰려고 주어지는 숫자를 한자리씩 list에 삽입했다. 

N = input()
num =[]
for i in range(len(N)):
  num.append(N[i])

 

 

다음으로는 우리는 수를 내림차순으로 출력해야하기 때문에

list의 원소들을 내림차순으로 정렬해준다. 

num.sort(reverse = True)

 

 

 

그럼 이제 정렬된 list의 원소들을 전부 하나로 합쳐

하나의 숫자처럼 출력해주면 끝난다. 

이때는 파이썬의 join함수를 사용했다. 

join 함수는 '구분자'.join(리스트) 와 같은 형식으로 사용한다. 

ans = ''.join(num)
print(ans)

 

 

위처럼 사용이 가능하다. 

 

반응형