: 중복 제거라는 말에 바로 set
을 사용할까 싶었다. 하지만 set
은 자동으로 정렬이 되기 때문에 다른 방법을 사용하는 것이 맞다고 생각했다.
: 역시 for문
을 돌면서 앞, 뒤 원소 비교후 같지 않다면 추가하는 방법 밖에 없다고 생각했다.
def solution(arr):
answer = []
# 순서를 유지하는 것이 관건. set은 자동 정렬이 되어서 안될 듯
for i in range(len(arr)):
a = arr[i]
if i+1 < len(arr):
next_a = arr[i+1]
else:
answer.append(a)
if a != next_a:
answer.append(a)
return answer
def no_continuous(s):
a = []
for i in s:
if a[-1:] == [i]: continue
a.append(i)
return a
파이썬 슬라이싱에 대한 복습
복습에 참고한 사이트
빈배열에 [-1:]을 써도 죽지 않는 파이썬
i에 []를 붙인 이유
: a[-1:] 은 맨 마지막 원소부터 끝까지 잘라서 list
로 만들기 때문에 int
형인 i 역시 list
형으로 만들어 비교해 주어야 에러가 안나기 때문이다.