www.acmicpc.net/problem/1343

 

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)

+ Recent posts