[Python]백준_1427 : 소트인사이드

Alal11·2022년 11월 4일
0
post-thumbnail

출처

https://www.acmicpc.net/problem/1427


문제

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


입력

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


출력

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


예제 입출력


알고리즘 분류

  • 문자열
  • 정렬

➡️문제 분석

  • 수를 입력했을 때, 각 자리 수를 내림차순으로 정렬하기
  • 수를 리스트에 넣고, 리스트에 들어있는 값을 반대로 정렬하는 방법을 이용한다.

➡️코드(⭕)

num = int(input())                      # num 정수형으로 입력받음
num_list = []                           # num 담을 빈 리스트 선언

for i in str(num):                      # 문자열 형식으로 num을 i에 대입
    num_list.append(int(i))             # num의 문자 하나씩 정수로 변환하여 리스트에 추가

num_list.sort(reverse=True)             # 리스트에 들어있는 값 반대로 정렬

for i in num_list:
    print(i, end='')                    # 리스트 값을 일렬로 출력

➡️코드 분석

  1. num에 정수형으로 숫자 입력받고, num을 담을 리스트를 생성해준다.

  2. num을 문자열 형식으로 i에 대입하고 i를 다시 정수형으로 리스트에 넣어준다.

  3. sort() 함수를 사용하여 리스트의 값을 반대로 정렬해준다.
    기본은 (reverse=False)로 오름차순 정렬인데 (reverse=True)로 변경하면 리스트가 내림차순으로 정렬된다.

  4. 리스트의 값을 공백 없이 일렬로 출력한다.


➡️end

파이썬으로 푸니 실버5 치고는 엄청 쉬웠다!
C언어로 풀면 꽤 어려운 문제가 될 것 같다

0개의 댓글