Koala - 5기/기초 알고리즘 스터디

[BOJ/python] 11656번 접미사 배열

ddingmin00 2022. 2. 6. 17:34

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

 

11656번: 접미사 배열

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.

www.acmicpc.net

문제 해석

 

한 단어를 입력받고 입력받은 단어의 접미사는 앞글자가 하나씩 줄은것이 된다.

이 접미사들을 사전순으로 정렬한 후 출력하는 문제이다.

 


코드

read = input()
arr = []
for i in range(len(read)):
    arr.append(read[i:])
arr = sorted(arr)
print("\n".join(arr))

문제 풀이

 

read에 단어를 입력받는다.

접미사들을 저장하기 위해 arr 배열을 만들어준다.

앞부분이 하나씩 없어지므로 i가 0부터 1씩 증가하는 for문을 만든 뒤

arr.append(read[i:])를 해주면 문제에서 원하는 접미사들이 저장된다.

그 뒤 sorted() 함수를 사용하여 정렬한 뒤 출력하면 된다.

출력할 땐 join을 사용하여 간단하게 출력할 수 있다.

 

원문

https://ddingmin00.tistory.com/20

 

[BOJ/python] 11656번 접미사 배열

https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문제 해석 한 단어를 입력..

ddingmin00.tistory.com