1343번: 폴리오미노
첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
www.acmicpc.net
문제 분석
XXXX의 패턴을 보이면 AAAA로 바꾸고,
XX의 패턴을 보이면 BB로 바꾼다.
이 두 패턴을 이용해서 X를 못 없앤다면, -1을 출력한다.
[예제] XX....XXXX..XX ->> [출력] BB....AAAA..BB
전략
- 파이썬에 내장된 str의 replace()를 쓰자 :
- 가장 넓은 범위인 'XXXX' 부터 'XX'로 범위를 좁혀가며 replace를 해주면 되겠다.
풀이
import sys
# sys.stdin = open("C:/Users/JIn/PycharmProjects/coding_Test/input.txt", "rt")
s = input()
s = s.replace('XXXX', 'AAAA')
s = s.replace('XX', 'BB')
if 'X' in s:
print(-1)
else:
print(s)
'코딩 테스트' 카테고리의 다른 글
[백준][파이썬] 9251, LCS (0) | 2021.01.07 |
---|---|
[파이썬][백준] 2810번 컵홀더 (0) | 2021.01.07 |
[파이썬][프로그래머스] 소수 찾기 (0) | 2021.01.04 |
[파이썬][백준 2661] 좋은 수열 (0) | 2021.01.04 |
[백준] 14720 우유축제, 파이썬 (0) | 2020.12.24 |