# set 하면 순서 바뀜 그리고 떨어져있는 숫자도 하나로 합쳐진다
# for 문으로 다음숫자와 같으면 append 3개면 할 수는있는데 코드가 길어질듯
# count 활용해서? 떨어진 숫자들 잇으면 안되네 그럼 길어지더라도 다음숫자와 비교해서 같으면 추가
# 다음숫자에서 빼면 마지막엔 어떻게 될까? 해보자
# 첫시도
# def solution(arr):
# answer=set(arr)
# answer=list(answer)
# return answer
# 두번째 시간복잡도 그리고 결과도 안나오네 remove하면 왼쪽 숫자부터 없애는데 한번 해볼까?? 뒤에서 나오면 앞에꺼 삭제되겠네
# def solution(arr):
# list=[]
# for i in range(len(arr)-1):
# if arr[i]==arr[i+1]:
# list.append(arr[i])
# return list
# 뒤 같으면 넣어 앞이같으면 넣지마 왜? 이미 들어갔으니까 앞다르고 뒤 같아 넣어 앞같지만 뒤 달라 뺴
# 뒤랑 같으면 넣고 앞뒤랑 다르면 넣고
# 되는데 0번이 -1번과 같을때 오류가 생김 그럼 같은 숫자 뒤를 기준으로 넣자
# def solution(arr):
# list=[]
# for i in range(len(arr)-1):
# if arr[i]==arr[i+1] and arr[i]==arr[i-1]:
# pass
# elif arr[i]!=arr[i+1] and arr[i]!=arr[i-1]:
# list.append(arr[i])
# elif arr[i]==arr[i+1]:
# list.append(arr[i])
# return list
# 3개일땐 가운데를 넣으면 되지않을까?
# 걸러내는 순서가 중요 숫자가 바뀌면 넣는다 개념으로 해볼까?
# 앞에꺼만보고 뒤와 비교해야함 왜냐 첫숫자는 -1을 인식하고 제일뒤는 없다.
# def solution(arr): #같은숫자있으면 제일 뒤에있는숫자를 이용해서 하려고했는데 안되네
# list=[]
# for i in range(len(arr)-1):
# if arr[i]==arr[i-1] and arr[i]!=arr[i+1]:
# list.append(arr[i])
# elif arr[i]!=arr[i+1] and arr[i]!=arr[i-1]:
# list.append(arr[i])
# return list
# 그럼 앞에숫자 이용해서하거나 아니면 -1에 제한을 두던가 그럼 3개가 같은경우는 중간꺼 2개인 경우는 앞에꺼
마지막에 제한을 두는 방식으로 해결했다.
'TIL > Algorithm' 카테고리의 다른 글
0 수박수박 | 슬라이싱 (0) | 2022.11.18 |
---|---|
0가운데 글자 가져오기 (0) | 2022.11.18 |
1K번째수 (0) | 2022.11.16 |
0n의 배수 고르기 (0) | 2022.11.15 |
0중앙값 구하기 | sorted | sort (0) | 2022.11.15 |