이번 문제는 그리디 알고리즘을 이용하여 보드판을 검사하며 .이 나왔을 때에 이전의 X의 갯수를 확인하여 X의 갯수가 홀수일 경우 폴리오미노로 채울 수 없다고 판단하여 -1을 출력하고 짝수일 경우 cnt를 0으로 갱신하여 . 이후의 X의 갯수를 새로 카운팅하도록 하였다. 보드판의 가장 마지막 문자가 .이 아닐 경우 제대로 판별할 수 없기 때문에 보드판을 입력받은 후 .를 따로 추가해주었다.
board=str(input())
board+='.'
cnt=0
answer=0
for i in range(len(board)):
if board[i]=='X':
cnt+=1
if board[i]=='.':
if cnt%2==0:
continue
else:
answer=-1
break
if answer==0:
board=board.replace('XXXX', 'AAAA')
board=board.replace('XX', 'BB')
print(board[:-1])
else:
print(answer)