접근 방식(알고리즘 분류)
- 알고리즘
내 풀이
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을 하면서 검사한다.
'알고리즘' 카테고리의 다른 글
프로그래머스 이진트리 문제 (0) | 2022.02.26 |
---|---|
프로그래머스 여행경로 문제 (0) | 2022.02.26 |
프로그래머스 보석쇼핑 문제 (0) | 2022.02.26 |
프로그래머스 배달 (0) | 2022.02.26 |
프로그래머스 hanoi 문제 (0) | 2022.02.26 |