문제
https://programmers.co.kr/learn/courses/30/lessons/12906
풀이
def solution(arr):
a = []
for i in arr :
if len(a) < 1 or a[-1] != i :
a.append(i)
return a
더 나은 풀이
def no_continuous(s):
a = []
for i in s:
if a[-1:] == [i]: continue
a.append(i)
return a
슬라이싱을 이용하면 리스트가 비어있어도 오류를 출력하지 않고 지나간다.
또 하나 배우네.
def no_continuous(s):
return [s[i] for i in range(len(s)) if [s[i] != s[i+1:i+2]]]
슬라이싱은 인덱스를 넘어가도 오류가 안나는 사례 하나 더.
슬라이싱을 응용한 인덱스 초과는 코드가 깔끔해지긴 하지만,
함부러 사용하기엔 위험하지 않을까 하는 의구심이 든다.
댓글남기기