Processing math: 100%
본문 바로가기

알고리즘 삽질장

[BOJ] 11656번 - 접미사 배열

반응형


문제설명

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

 

11656번: 접미사 배열

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

www.acmicpc.net

사고과정

  • 문제는 쉽지만 기록하는 이유는 시간 복잡도에 익숙해지기 위함이다. 
  • 우선 문제에서는 문자열의 길이가 최대 1000이라고 했으므로 모든 접미사를 탐색하는 선형탐색 1000번 , 그리고 정렬시킬 때 파이썬 정렬 라이브러리를 이용했으므로 (1000log1000)이므로 10,000번, 마지막에 결과값을 출력할 때, 또 1000번 해서 총 12,000번의 연산을 수행한다. 파이썬에서는 1초에 천만번 연산을 수행하므로 시간초과 에러를 받지 않고 통과할 수 있다.

풀이

string = input()
result = []
for i in range(0, len(string)):
    result.append(string[i:])
result.sort()
for res in result:
    print(res)
반응형

'알고리즘 삽질장' 카테고리의 다른 글