#시도 1

현재 풀이 (예시: [5,2,3,3,5,3])
- input array 원소 하나씩 조사함
- 예를 들어, 첫 원소는 5니까 이거랑 값이 같은지 다른지를 bool연산으로 저장함. [1,0,0,0,1,0])
- 인덱스 t, t+1이 다르면 +2 위치로 넘어가서 조사. 같으면 스타수열 길이에서 1을 빼고, +1 위치로 넘어가서 조사.
- 끝나면 남은 스타수열 길이가 나옴.
- 원소 돌아가면서 (중복인건 패스하고) 다 돌면 최대값이 나옴.
미리 제거할수 있는 경우가 또 없을까?
예를들어, 현재 스타수열 최대 길이 값이 2k라고 하면, 해당 원소 (예시:3)가 배열에 있는 개수가 k 미만이면 체크할 필요가 없다거나.
`
def solution(a):
checked_num = []
max_len = -1
# check one number
for i in range(len(a)):
if a[i] in checked_num:
continue
tmp_len = len(a)
tmp = [j == a[i] for j in a]
idx = 0
for t in range(len(tmp)):
if idx != t:
continue
if (t+1) >= len(tmp):
tmp_len -= 1
break
if (tmp[t] != tmp[t+1]):
idx += 2
continue
else:
idx += 1
tmp_len -= 1
if tmp_len > max_len:
max_len = tmp_len
checked_num.append(a[i])
answer = max_len
return answer
`
#시도 1
현재 풀이 (예시: [5,2,3,3,5,3])
미리 제거할수 있는 경우가 또 없을까?
예를들어, 현재 스타수열 최대 길이 값이 2k라고 하면, 해당 원소 (예시:3)가 배열에 있는 개수가 k 미만이면 체크할 필요가 없다거나.
`
`