-Code
zero = ["***", "* *", "* *", "* *", "***"]
one = [" *", " *", " *", " *", " *"]
two = ["***", " *", "***", "* ", "***"]
three = ["***", " *", "***", " *", "***"]
four = ["* *", "* *", "***", " *", " *"]
five = ["***", "* ", "***", " *", "***"]
six = ["***", "* ", "***", "* *", "***"]
seven = ["***", " *", " *", " *", " *"]
eight = ["***", "* *", "***", "* *", "***"]
nine = ["***", "* *", "***", " *", "***"]
one2 = ["*", "*", "*", "*", "*"]
nums = [zero, one, two, three, four, five, six, seven, eight, nine]
boom = [input() for _ in range(5)]
result = ""
for i in range(0, len(boom[0]), 4):
num = []
for j in range(5):
num.append(boom[j][i:i + 3])
for j in range(10):
if num == one2:
result += '1'
break
if num == nums[j]:
result += str(j)
break
print("BEER!!" if int(result) % 6 == 0 else "BOOM!!")
처음에 0~9까지 구분을 배열로 받는 것 까진 생각 했는데 그 배열이랑 같을 경우 수를 어떻게 찾는지에 대해서 고민을 해봐도 안 풀려서 해당 부분을 찾아보니 배열에 다른 배열의 이름을 넣어서 딕셔너리처럼 만든 후 해당 위치를 숫자로 사용하면 해결이 되었습니다. 그리고 1이 마지막으로 나올 시 앞에 빈칸이 없이 만들어 지기 때문에 따로 예외를 두어서 해결을 했습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 1972번 놀라운 문자열 (0) | 2022.05.15 |
---|---|
[백준/파이썬] 12933번 오리 (0) | 2022.05.15 |
[백준/파이썬] 4396번 지뢰 찾기 (0) | 2022.05.14 |
[백준/파이썬] 5534번 간판 (0) | 2022.05.14 |
[백준/파이썬] 20114번 미아 노트 (0) | 2022.05.14 |