[백준] 1343번 폴리오미노
🔔 문제
민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'과 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때 '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오.
입력
- 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다.
출력
- 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.
🎯 풀이방법
먼저 보드판을 입력으로 받는다. 폴리오미노는 총 'AAAA'와 'BB' 두개로 'X'가 4의 배수개로 존재한다면 AAAA로 덮어야 사전순으로 가장 앞서는 답을 찾을 수 있다. 그래서 'X'가 4개 존재한다면 'AAAA'로 덮었고, 'X'가 2개 존재한다면 'BB'로 덮었다. 'X'가 홀수개로 존재한다면 폴리오미노로 덮을 수 없으므로 -1를 출력한다.
💻 python code
board = input()
board = board.replace('XXXX','AAAA')
board = board.replace('XX','BB')
print(board if 'X' not in board else -1)
Author And Source
이 문제에 관하여([백준] 1343번 폴리오미노), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@subinmun1997/백준-1343번-폴리오미노저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)