백준 5648 - 역원소 정렬 (Python)

2024. 2. 12. 06:34알고리즘

문제

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

 

5648번: 역원소 정렬

모든 원소가 양의 정수인 집합이 있을 때, 원소를 거꾸로 뒤집고 그 원소를 오름차순으로 정렬하는 프로그램을 작성하세요. 단, 원소를 뒤집었을 때 0이 앞에 선행되는 경우는 0을 생략해야합니

www.acmicpc.net

풀이

import sys
a = sys.stdin.readlines()
numbers = []
for i in a:
    for j in i.split():
        numbers.append(int(j[::-1]))
numbers = numbers[1:]
numbers.sort()
print("\n".join(map(str,numbers)))

입력의 줄 수가 정해져 있지 않으므로 sys의 readlines를 이용하여 모든 줄을 받아와 주었다.

각 줄에 대해서 띄워쓰기로 구분된 모든 숫자를 분리했고, 파이썬 슬라이싱의 특징을 이용하여 역순으로 만들어주었다.

(파이썬의 슬라이싱에서 콜론 뒤 세번째 자리의 숫자는 step으로 문자열을 어떤 순서로 불러올지를 지정해준다)

역순으로 만든 문자를 int로 바꾸어 저장해둔다.

분리된 숫자에서 맨 첫번째에 해당하는 숫자는 n이므로 제거해주고, 나머지를 정렬하여 출력하였다.