Search

Sorting the Sentence

문제 설명 : 공백으로 구분된 단어들의 마지막에 순번을 나타내는 숫자가 존재한다. 해당 순번대로 단어를 재정렬하여 문자열을 반환한다.
풀이 방법
단어의 가장 마지막 문자를 기준으로 sort 처리한다.
이후 단어의 가장 마지막 문자를 제외한 데이터를 join으로 붙인다.
시간복잡도 : O(NlogN)O(NlogN)
성공 코드
class Solution: def sortSentence(self, s: str) -> str: result = [] # 공백으로 문장을 구분 후, 마지막의 순서를 나타내는 숫자를 기준으로 정렬 # O(NlogN) info = s.split(' ') info.sort(key=lambda s: s[-1]) # 마지막 숫자 글자를 제외한 나머지 문장을 사용하여 문자열 생성 # 모든 sentence의 slice를 동작해도, 결국엔 s만큼 진행되기 떄문에 O(N) for sentence in info: result.append(sentence[:len(sentence)-1]) return ' '.join(result)
Python
복사