같은 숫자는 싫어 lv1
🌈문제 링크
풀이
1
2
3
4
5
6
def solution(arr):
answer = []
for i in arr:
if answer[-1:] == [i]: continue
answer.append(i)
return answer
만약 answer의 마지막 원소가 현재 순회중인 원소랑 같다면 건너뛰고
혹은 같지 않다면 바로 answer 스택에 추가 —> 즉 중복원소는 추가하지 않겠다.
# 다른 풀이
1 2 3 4 5 6 7 8 9
arr = [1,1,3,3,0,1,1] # 편의를 위해 작성 def solution(arr): answer = [] for i in range(len(arr)): if [arr[i]] != arr[i + 1: i + 2]: answer.append(arr[i]) return answer # 같은 뜻 arr[5:6] == arr[5]
현재 순회중인 i가 바로 다음 번의 i랑 같지 않다면 answer스택에 추가
(ex
i==1
,i+1==3
이면 i를 추가하고i+1==3
,i+2==3
이라면 i+1을 추가 안함i+2 ==3
,i+3==0
이라면 i+2 추가 —> 이런식으로 i+6 까지 진행
2개 코드 비교 [arr[i]] 이랑 arr[i] 차이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
arr = [1,1,3,3,0,1,1]
for i in range(len(arr)):
if [arr[i]] != arr[i + 1: i + 2]:
answer.append(arr[i])
# answer은 [1,3,0,1]
# ----------------------------------------------------------------------------
for i in range(len(arr)):
if arr[i] != arr[i + 1: i + 2]:
answer.append(arr[i])
# answer은 [1,1,3,3,0,1,1]
참고
This post is licensed under CC BY 4.0 by the author.