선형탐색을 사용하는 방법
li=[1,1,2,3,4,5,5,6,7,8]
x=5
i=0
while i<len(li):
if li[i]>=x: break
i+=1
print(li[:i]+[x]+li[i:])
정렬된 리스트가 빈 리스트여도 에러가 발생하지 않으며, 인덱스 오류도 발생하지 않는다.
다만 선형탐색 방식에 기초하기때문에 시간복잡도가 크다.
while문 대신 for 문을 사용하면 추가할 요소가 리스트의 마지막에 들어가는 케이스에 정상적으로 동작하지 않는다.
'📁Algorithm & Codingtest > 알고리즘 공부' 카테고리의 다른 글
기본기 문제 리스트 (0) | 2022.06.27 |
---|---|
알고리즘에 활용되는 파이썬 문법 (0) | 2022.03.27 |
알고리즘 학습 요약 (0) | 2021.12.05 |
댓글