본문 바로가기

알고리즘 삽질장

[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)
반응형

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

[BOJ] 6588번 - 골드바흐의 추측  (0) 2021.10.26
[BOJ] 1978번 - 소수 찾기  (0) 2021.10.26
[BOJ] 10824번 - 네 수  (0) 2021.10.26
[BOJ] 11655번 - ROT13  (0) 2021.10.26
[BOJ] 10820번 - 문자열 분석  (0) 2021.10.26