나의 풀이
def solution(arr):
answer = [arr[0]]
from collections import deque
arr = deque(arr[1:])
while arr:
temp = arr.popleft()
if temp != answer[-1]:
answer.append(temp)
return answer
고수의 풀이
def no_continuous(s):
a = []
for i in s:
if a[-1:] == [i]: continue
a.append(i)
return a
CODE REVIEW
- queue을 활용한 문제.
- for문으로 arr의 원소 하나씩 뽑아올수도 있겠지만,
시간초과
우려가 있기에 deque을 활용했다. -
arr.pop(0)
보다deque
을 이용해서arr.popleft()
가 탐색 속도가 빠르다. -
answer = [arr[0]]
arr = deque(arr[1:])
로 설정하지 않으면indexError
가 발생하기 때문에 주의해야 한다. - 이런
indexError
을 효과적으로 방지하기 위해 고수의 풀이에서는a[-1:]
을 이용했다.