반응형
문제설명
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 |