[TIL]Day 128

이재희·2021년 4월 6일
0

TIL

목록 보기
128/312

코딜리티 lesson8 Leader Dominator

리스트에서 절반이상으로 나타나는 요소를 Leader라고 한다.

처음 푼 코드 - 퍼포먼스에서 감점이 있어서 87%

def solution(A):
    # write your code in Python 3.6
    d = {}
    ml = 0
    mn = 0
    for i,a in enumerate(A):
        d[a] = d.get(a,[]) + [i]
        if ml < len(d[a]):
            ml = len(d[a])
            mn = a
    if ml > len(A) // 2:
        return d[mn][0]
    else:
        return -1

수정한 100% 통과 코드

def solution(A):
    # write your code in Python 3.6
    if not A:
        return -1
    a = [n for n in A]
    a.sort()
    tmp = a[len(a)//2]
    if a.count(tmp) > len(a)//2:
        return A.index(tmp)
    else:
        return -1
profile
오늘부터 열심히 산다

0개의 댓글