728x90
백준 11656번 접미사 배열
📌 문제
접미사 배열은 문자열 S의 모든 접미사를 사전순으로 정렬해 놓은 배열이다.
baekjoon의 접미사는 baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n 으로 총 8가지가 있고, 이를 사전순으로 정렬하면, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon이 된다.
문자열 S가 주어졌을 때, 모든 접미사를 사전순으로 정렬한 다음 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.
출력
첫째 줄부터 S의 접미사를 사전순으로 한 줄에 하나씩 출력한다.
📝 문제 접근 방법
아이디어
문자열의 모든 접미사를 추출하여 사전순으로 정렬한 뒤 출력합니다.
- 모든 접미사 생성: 문자열의 처음부터 끝까지의 부분 문자열을 추출하여 리스트에 추가합니다.
- 사전순 정렬: sort() 를 사용하여 사전순으로 정렬합니다.
👩💻 나의 답안
s = list(input())
suffix = [s[i:] for i in range(len(s)]
suffix.sort()
for elem in suffix:
print(elem)
728x90
반응형
'코딩테스트 대비' 카테고리의 다른 글
[파이썬(Python)] 백준 1978번 소수 찾기 (0) | 2024.11.27 |
---|---|
[파이썬(Python)] 백준 2609번 최대공약수와 최소공배수 (0) | 2024.11.26 |
[파이썬(Python)] 백준 11655번 ROT13 (0) | 2024.11.17 |
[파이썬(Python)] 백준 10820번 문자열 분석 (0) | 2024.11.16 |
[파이썬(Python)] 백준 10809번 알파벳 찾기 (0) | 2024.11.15 |