HandOfStraights
Published at 2022-10-14
class Solution:
def isNStraightHand(self, hand: List[int], groupSize: int) -> bool:
# 그룹은 1씩 차이
nums = collections.defaultdict(int)
for h in sorted(hand): nums[h] += 1
for [k, v] in nums.items():
if v > 0: # hand 에 있었거나 남은 개수 있단 뜻
for i in range(1, groupSize):
if nums[k+i] <= 0: # 1큰 다음 카드가 없으면 그룹 불가
return False
nums[k+i] -= 1 # 그룹에 사용한건 제외
return True