백준 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이므로 제거해주고, 나머지를 정렬하여 출력하였다.