import sys
input = sys.stdin.readline().rstrip()
stack = []
n = 0
while n < len(input):
stack.append(input[n:])
n += 1
stack.sort()
for s in stack:
print(s)
str[n:]은 문자열 str의 n번째 문자부터 끝까지를 가져온다.
ex) str = "hello" 일때 str[1:]은 "ello" 이고 str[3:]은 "lo" 이다.
정렬 함수
import sys
input = sys.stdin.readline().rstrip()
# 접미사 저장할 스택
stack = []
n = 0
while n < len(input):
stack.append(input[n:]) # n부터 끝까지 문자열을 stack에 저장
n += 1
stack.sort() # 리스트 정렬
for s in stack: # 결과 출력
print(s)
역시 파이썬에는 똑똑한 함수들이 많다..ㅎ