level0_접미사 배열

2024. 10. 30. 22:27파이썬_알고리즘(코딩테스트)/level0

 

내가 제출한 코드

def solution(my_string):
    answer = []
    for i in range(len(my_string)):
        str = my_string[i:]
        answer.append(str)
    answer.sort()
    return answer
  • my_string의 길이를 범위로 잡아 반복문을 돌린다.
  • str = my_string[i:]
    • my_string의 i번째 인덱스부터 시작하는 접미사를 생성한다.
  • 각 접미사를 answer리스트에 추가한다.
  • answer.sort()
    • answer 리스트에 있는 접미사들을 사전 순을 정렬한다.
  • 정렬된 접미사 리스트를 반환한다.

다른 사람들이 제출한 코드

def solution(my_string):
    return sorted(my_string[i:] for i in range(len(my_string)))
  • 리스트 컴프리헨션을 사용해 my_string[i:] 접미사들을 생성하고, sorted() 함수로 바로 정렬하여 반환한다.

 

내가 제출한 코드랑 다른 분이 작성한 코드의 차이점은 다른 분께서 올려주신 코드가 미세하게 더 빠른수가 있고, 코드가 더 간결하고 효율적이다.