간단한 문제 요약
주어진 input word에 대해서 모든 접미사를 추출하고 이 부분 문자열들을 사전 순으로 정렬 후 출력하시오!!
고려해야 할 사항
- 없습니다.
문제 풀이, 했갈렸던 점
문자열 알고리즘 공부를 이제 막 접했습니다. 간단하게 문자열의 부분 문자열들을 가지고 놀고 싶었고 주어진 문자열에서 어떻게 부분 문자열들을 출력하고 정렬할까? 고민했습니다. 기본적으로 Swift에서 지원해주는 라이브러리를 이용했기에 정말 편하게 결과를 구할 수 있었습니다.,,(이게 맞는건가?)
주어진 문자열의 각각 index를 얻은 후에 dropFirst함수를 이용해 주어진 index를 포함한 subsequence를 반환받습니다. 이후에 각각의 배열에 들어있는 prefix string들은 sorted(by:<)함수를 통해 사전순으로 정렬됩니다. 이후 joined함수를 통해 flatten한 sequence를 얻습니다.
코드
let word: String = readLine()!
print(word.enumerated().map{ word.dropFirst($0.offset)}.sorted(by: <).joined(separator: "\n"))
'백준 PS일지 > String' 카테고리의 다른 글
[백준/Swift] 7575: 바이러스 | PS일지 (0) | 2023.02.05 |
---|---|
[백준/Swift] 1701: Cubeditor | PS일지 (4) | 2023.02.03 |
[백준/Swift] 1305: 광고 문제 해석 | PS일지 :] (2) | 2023.01.28 |
[백준/String] 10808: 알파벳 개수 | 문자열 익숙해지기,, (2) | 2023.01.20 |