알고리즘
                
              프로그래머스 스타수열 문제
                채마스
                 2022. 2. 26. 01:06
              
                          
            

접근 방식(알고리즘 분류)
- 알고리즘
내 풀이
from collections import Counter
def solution(a):
    elements = Counter(a)
    answer = -1
    for k in elements.keys():
        if elements[k] <= answer:
            continue
        common_cnt = 0
        idx = 0
        print(k, answer)
        while idx < len(a)-1:
            #현재 검사하고 하는 k가 둘다 없는 경우
            #둘이 같은 경우
            if (a[idx] != k and a[idx+1] != k) or (a[idx] == a[idx+1]):
                idx+=1
                continue
            common_cnt += 1
            idx += 2
        answer = max(common_cnt, answer)
    if answer == -1:
        return 0
    else:
        return answer * 2
print(solution([5,2,3,3,5,3]))풀이 설명
- 원소의 갯수를 기준으로 검사한드는 생각을 하지 못해서 풀지 못했다.
- Count함수를 쓰면 원소마다 갯수를 dict로 반환해 준다.
- 조건에 만족하면 idx에 +2를 하고 만족하지 못하면 +1을 하면서 검사한다.