https://www.acmicpc.net/problem/1343
아이디어
XXXXXX 를 AAAABB로 만드는 방법중에서, 정답은 사전순으로 먼저 오는 것을 출력해야 하기 때문에
BBAAAA가 아니라 AAAABB가 정답이다. 따라서 A를 먼저 치환해야한다는 생각을 했다.
XXXX를 AAAA로, XX를 BB로 치환을 하는 것이다. 이것으로 치환이 안되면 만들 수 없는 경우이다!
따라서, XXXX와 XX를 각각 A와 B로 치환을 한 후, X가 여전히 포함되어 있다면 만들 수 없는 경우이므로 -1을 출력한다.
코드 풀이
s = input()
a = s.replace("XXXX","AAAA") # 사전 순으로 가장 앞서는 답을 출력해야하므로 A 부터 치환한다
b = a.replace("XX", "BB")
print(-1 if "X" in b else b)
'Algorithm' 카테고리의 다른 글
[백준] 2847 게임을 만든 동준이 / 파이썬 (0) | 2023.07.25 |
---|---|
[백준] 2644 촌수계산 / 파이썬 (0) | 2023.07.11 |
[백준] 4963 섬의 개수 / 파이썬 (0) | 2023.07.09 |
[백준] 1931 회의실 배정 / 파이썬 (0) | 2023.07.09 |