CodingTest/Baekjoon

[baekjoon] 백준 1343번(파이썬): 폴리오미노

JunJangE 2021. 7. 6. 11:32

문제

 

1343번: 폴리오미노

첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.

www.acmicpc.net

- 민식이는 다음과 같은 폴리오미노 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

 

junjange/CodingTest

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com