728x90
시간 제한 1초, 메모리 제한 128MB
# 조건
- 홍준이가 자주 가는 호프에 폭탄이 설치되었다는 신고가 들어왔다.
- 홍준이는 즉시 호프로 달려갔다.
- 폭탄을 잠시 살펴보니 술집에 설치된 폭탄은 해체하기 매우 까다로운 폭탄이었다.
- 홍준이는 폭탄의 상단에 숫자가 표시되고 있다는 점에 주목했다.
- 잠시 인터넷으로 폭탄 해체법을 검색해보니, 폭탄의 상단에 표시되는 숫자를 코드라고 한다는 것을 알게 되었다.
- 또, 코드가 6으로 나누어 떨어질 때 전선을 잘라야 한다고 나왔다.
- 폭탄의 코드가 주어졌을 때, 전선을 자르면 폭탄을 해체할 수 있는지, 폭탄이 폭발하는지 구하는 프로그램을 작성하시오.
입력
- 입력으로 폭탄의 코드가 주어진다.
- 코드는 2자리 이상, 8자리 이하이고, 각 자리는 5행 3열의 문자로 주어진다.
- 문자는 공백과 별표('*') 중 하나이다.
- 또, 각 숫자를 구분하기 위해 숫자 사이에는 빈 칸이 하나씩 있다.
- 모든 숫자는 5×3 크기이지만, 올바르지 않은 숫자가 주어질 수도 있다.
- 올바르지 않은 숫자가 주어진 경우에는 전선을 자르면 안 된다.
- 0부터 9까지 숫자를 5×3으로 나타내는 방법은 아래에 나와있다.
### ### ### ### ### ### ### ### ### ###
- 그림 1. 맨 위의 #는 열을 알아보기 쉽게 하기 위해 주어진 문자이다.
- 코드는 0으로 시작하는 숫자일 수도 있다.
- 예를 들어, 00000076는 76이다.
#### **출력**
- 첫째 줄에 입력으로 주어진 코드인 경우에 전선을 잘라도 되면 "BEER!!"를, 자르면 폭발하는 경우에는 "BOOM!!"을 출력한다.
## **# 접근 방법**
- 브루트 포스로 풀어주었다.
- 각 숫자를 나타내는 배열을 선언해 준 후, 주어진 문자열의 숫자를 찾아낸 후 6으로 나눠주면 된다.
```python
arr = [input() for _ in range(5)]
N = (len(arr[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 arr[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!!")
728x90
'ALGORITHM > 정렬, 탐색,구현' 카테고리의 다른 글
[백준 5766번] 파이썬 - 할아버지는 유명해! (0) | 2024.01.20 |
---|---|
[백준 20665번] 파이썬 - 독서실 거리두기 (1) | 2024.01.13 |
[백준 20159번] 파이썬 - 동작 그만. 밑장 빼기냐? (0) | 2024.01.10 |
[백준 5534번] 파이썬 - 간판 (0) | 2023.12.21 |
[백준 3079번] 파이썬 - 입국심사 (0) | 2023.12.15 |