문제
작성 코드
from collections import deque
def solution(s):
s = deque(list(s))
ss = []
for _ in range(len(s)):
a1 = s.popleft() #["b","a","a","b","a","a"]
if ss == []:
ss.append(a1)
elif ss[-1] == a1:
ss.pop()
elif ss[-1] != a1:
ss.append(a1)
if ss != []:
return 0
else:
return 1
'''
<추가 입출력 예제>
[0] 0
[3, 4] 2
[1, 2, 3, 5, 6, 7, 10, 11] 5
[3, 5, 11, 6, 1, 5, 3, 3, 1, 41] 5
[1, 11, 111, 1111] 3
'''
풀이
주어진 예제에서 [3, 0, 6, 1, 5]일 때 h-index는 3으로 나타나서 리스트 내 원소가 h-index가 되는줄 알았다.
그치만 질문 게시판에서 [1, 11, 111, 1111]의 경우, 답이 2가 된다는 것을 보고 회로?를 돌려보니 알고리즘이 파악할 수 있었고, 10분 내로 코딩했다.
다만, answer ≠ h, over = len(citations)- above를 모두 각각 구하고 대소 비교도 해야해서, 복잡성이 있었다.