반응형
class Solution:
def hasGroupsSizeX(self, deck: List[int]) -> bool:
if len(deck) < 2 :
return False
m = collections.defaultdict(int)
for i in deck :
m[i] += 1
psize = m[deck[0]]
for i in m.values() :
psize = self.gcd(psize, i)
if psize == 1 :
return False
return True
def gcd(self, a, b) :
while b != 0 :
n = a % b
a = b
b = n
return a
정리 :
최대 공약수 활용.
# 최대공약수 (Greatest Common Divisor)를 구하는 가장 쉬운 방법: 유클리드 호제법
def gcd(a, b) :
while b != 0 :
tmp = a%b
a = b
b = tmp
return a
반응형
'0 > leetcode' 카테고리의 다른 글
398. Random Pick Index (0) | 2020.10.27 |
---|---|
388. Longest Absolute File Path (0) | 2020.10.27 |
41. First Missing Positive (0) | 2020.09.30 |
134. Gas Station (0) | 2020.09.24 |
416. Partition Equal Subset Sum (0) | 2020.09.18 |