728x90
Reference
파이썬에서 슬라이싱으로 간격을 지정해서 표현할 수도 있다.
기본적인 인덱스 슬라이싱 방법
ex_list = [0, 1, 2, 3, 4]
print(ex_list[1:4])
>> [1, 2, 3, 4]
[start_idx : end_idx + 1]
-> 원하는 방식으로 인덱스를 잘라서 이용가능하다.
인덱스 슬라이싱의 세번째 인자 활용
>>> L = range(10)
>>> L[::2]
[0, 2, 4, 6, 8]
[start_idx : end_idx + 1 : stride]
-> 해당 방식으로 표현
stride
에 해당하는 세번째 인자에-1
값을 넣어주면 역순으로 표현 가능
>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
💡 Slicing [::-1]
🆚 reverse() L.reverse()
- 그렇다면, 역순 슬라이싱과 역순 정렬 함수 중 어느 것이 시간 복잡도가 더 낮을까?
- Slicing
O(b-a) -> 즉, O(n) - reverse()
O(n)
∴ 똑같다,,! 그냥 편한거 쓰는 게 베스트
728x90
'📊 Algorithm > Paradigm' 카테고리의 다른 글
[알고리즘 대비 - 이코테] 5. 정렬 (0) | 2022.01.29 |
---|---|
[알고리즘 대비 - 이코테] 4. DFS & BFS (0) | 2022.01.25 |
[알고리즘 대비 - 이코테] 3. 구현 (0) | 2021.09.19 |
[알고리즘 대비 - 이코테] 2. 그리디 (0) | 2021.08.20 |
[알고리즘 대비 - 이코테] 1. 자료형 (0) | 2021.06.02 |