숫자 카드 6개를 임의로 뽑았을 때, run과 triplet으로 구성되어있는 경우
run
- 연속된 숫자 3개
triplet
- 동일한 숫자 3개
예시 ) 숫자 카드 [0 5 4 0 6 0]을 뽑았을 경우
def baby_gin(p):
# triplet
# player의 패를 담은 상자를 모두 검사한다.
for i in range(10):
# player의 i 카드의 개수가 3이라면
if p[i] == 3:
return True
# run
# run은 i 카드를 뽑으면 i+1, i+2 카드도 함께 봐야 하므로 range(8).
for i in range(8):
# player가 i, i+1, i+2 카드를 모두 가지고 있다면
if p[i] and p[i+1] and p[i+2]:
return True
# triplet과 run에 해당하는 패가 없다면 False를 return한다.
return False
T = int(input())
for tc in range(1, T+1):
deck = list(map(int, input().split())
# index 번호를 카드의 번호로, value를 뽑은 카드 개수로 한다.
p1 = [0] * 10
p2 = [0] * 10
#
rlt = 0
# player는 p1부터 하나씩 뽑기 때문에
for i in range(0, len(deck)![](https://velog.velcdn.com/images/123xxx/post/5ba95f2b-7fe8-4d64-bb67-68e91e49f1dc/image.jpg)
, 2):
p1[deck[i] += 1
p2[deck[i+1] += 1
if baby_gin[p1]:
rlt = 1
break
elif baby_gin[p2]:
rlt = 2
break
print(f'#{tc} {rlt}')