[상황]빈리스트부터 시작해 리스트의 맨 마지막을 참고하고 조건이 맞으면 리스트에 append하는 로직을 짤때
[문제]맨 처음에 빈리스트인데 [-1]로 참조하면 에러나니까, for문에
1.if len(arr) == 0를 추가할까
2.try: except문으로 에러를 처리할까
이 둘중에 뭐가더 빠를까?
def solution(arr):
answer = [arr[0]]
for iv in arr:
if len(arr) == 0:
answer.append(iv)
continue
if answer[-1] != iv:
answer.append(iv)
return answer
def solution(arr):
answer = [arr[0]]
for iv in arr:
try:
if answer[-1] != iv:
answer.append(iv)
except:
answer.append(iv)
return answer


하지만, 이는 index Error에만 검증된것이다. 만약 오류가 나기까지 엄청나게 많은 스택콜을 가진 함수를 쓴다면? if가 더 빠를 것이다.
그러니까 앞으로 코테에서 index참조를 굳이 if문으로 빼지말고 try except를 이용해서 모든케이스가 되도록 범용적으로 설계하자.