문제
- 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB
- 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다.
- 이때, '.'는 폴리오미노로 덮으면 안 된다.
- 폴리오미노로 모두 덮은 보드판을 구하는 문제이다.
- 보드판의 크기는 최대 500이다.
- 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
알고리즘
- 보드판을 입력받는다.
- replace 함수를 통해 찾을값과 바꿀 값을 설정하여 바꾼다.
- 조건문을 통해 아직도 보드판에 X가 있다면 -1을 출력하고 아니라면 바꾼 보드판을 출력한다.
코드
dic = input()
# replace 함수를 통해 찾을 값과 바꿀 값을 설정하여 바꿔준다.
dic = dic.replace("XXXX", "AAAA")
dic = dic.replace("XX", "BB")
# 사전에 아직 X가 있으면 -1 출력
if "X" in dic:
print(-1)
else:
print(dic)
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 12904번(파이썬): A와 B (0) | 2021.07.08 |
---|---|
[baekjoon] 백준 9009번(파이썬): 피보나치 (0) | 2021.07.07 |
[baekjoon] 백준 9237번(파이썬): 이장님 초대 (0) | 2021.07.05 |
[baekjoon] 백준 17609번(파이썬): 회문 (0) | 2021.07.04 |
[baekjoon] 백준 15903번(파이썬): 카드 합체 놀이 (0) | 2021.07.03 |