https://www.acmicpc.net/problem/1343
문제 풀이
나의 정답
- 입력받을 때 '.'을 기준으로 나누도록 했다
- for문과 X의 길이를 사용해 풀어냈다
- 하지만 다른 사람 코드를 보니 꽤 복잡하게 풀어낸 코드였다
poliomino = list(input().split('.'))
# print(poliomino)
a = 'AAAA'
b = 'BB'
result = ''
print(poliomino)
for i in range(len(poliomino)):
x_len = len(poliomino[i])
if x_len % 2 == 1: # 홀수개가 있는 경우에는 바로 -1 return
result = -1
break
if x_len // 4 != 0: # 4로 나눈 몫만큼 A반복
result += a * (x_len // 4)
x_len -= (x_len // 4) * 4
if x_len // 2 != 0: # 4로 나눈 것의 나머지를 2로 나눈 만큼 B반복
result += b * (x_len // 2)
x_len -= (x_len // 2) * 2
if i != len(poliomino) -1 : #마지막 for돌때는 .안붙임
result += '.'
print(result)
다른 사람의 풀이
- replace함수에 대해 다시한번 배우게 됐다
- replace 만세!
# 다른 사람 풀이
board = input()
board = board.replace("XXXX", "AAAA")
board = board.replace("XX", "BB")
if 'X' in board:
print(-1)
else:
print(board)