practivceAlgorithm/백준

[백준][Python] 9242 폭탄해제

findTheValue 2021. 7. 17. 13:12

처음에 6으로 나눠떨어져야 한다는 조건 못봐서 실패.

그리고 한참 디버깅코드 안빼고 왜 실패하지?? 고민하다 결국 ans디버깅 코드 넣어논거 발견하고 해결.

코드 더 줄일 수 있을 것 같지만 그냥 제출.

matrix = [input() for _ in range(5)]
N = (len(matrix[0])//4)+1

zero = ['***','* *','* *','* *','***']
one = ['  *','  *','  *','  *','  *']
two = ['***','  *','***','*  ','***']
three = ['***','  *','***','  *','***']
four  = ['* *','* *','***','  *','  *']
five = ['***','*  ','***','  *','***']
six = ['***','*  ','***','* *','***']
seven = ['***','  *','  *','  *','  *']
eight = ['***','* *','***','* *','***']
nine = ['***','* *','***','  *','***']
nums = [zero,one,two,three,four,five,six,seven,eight,nine]
check = [False]*5
check_all = [False]*10
ans_list = []

for i in range(N):
    for n in range(10):
        for j in range(5):
            if matrix[j][i*4:i*4+3] == nums[n][j]:
                check[j] = True
        if all(check):
            check_all[n] = True
            ans_list.append(n)
        check = [False]*5
    if any(check_all):
        check_all = [False]*10
        continue
    else:
        print("BOOM!!")
        exit()
ans = 0
for i in range(1,N+1):
    ans += ans_list[-i]*(10**(i-1))
if ans%6==0:
    print("BEER!!")
else:
    print("BOOM!!")

'practivceAlgorithm > 백준' 카테고리의 다른 글

[백준][Python] 11060 점프점프  (0) 2021.07.17
[백준][Python] 2447 별찍기  (0) 2021.07.17
[백준][Python] 4446 ROT12  (1) 2021.07.17
[백준][Python] 2529 부등호  (0) 2021.07.16
[백준][PYTHON] 15649 15650 N과 M (1),(2)  (0) 2021.07.14