각 경우의 수를 check 해주면 된다.
def check(player, num):
if player[num] == 3:
return True
if num > 1 and player[num - 1] and player[num - 2]:
return True
if num < 9 and player[num + 1] and player[num + 2]:
return True
if num and not num==9 and player[num + 1] and player[num - 1]:
return True
return False
for test in range(1, int(input()) + 1):
nums = list(map(int, input().split()))
a = {i: 0 for i in range(10)}
b = {i: 0 for i in range(10)}
answer = 0
flag = 0
for i in range(len(nums)):
if i&1:
b[nums[i]] += 1
if check(b, nums[i]):
answer = 2
break
else:
a[nums[i]] += 1
if check(a, nums[i]):
answer = 1
break
print(f'#{test} {answer}')
'practivceAlgorithm > swexpertacademy' 카테고리의 다른 글
[SWEA][Python] 10726 이진수 표현 (0) | 2021.10.01 |
---|---|
[SWEA][Python] 1240 단순2진암호코드 (0) | 2021.09.29 |
[SWEA][Python] 5202 화물도크 (0) | 2021.09.28 |
[SWEA][Python] 5201 컨테이너 운반 (0) | 2021.09.28 |
[SWEA][Python] 5189 전자카트 (0) | 2021.09.28 |