과정
- 입력 받은 문자열을 처음부터 순회한다.
- X가 들어오는 경우
- X 개수를 추가한다.
- . 개수가 0보다 크면
- . 개수만큼 답에 .를 추가한다.
- . 개수를 0으로 초기화 한다.
- .가 들어오는 경우
- . 개수를 추가한다.
- X 개수가 0보다 크면
- X 개수만큼 처리한다.
- X 개수를 0으로 초기화한다.
inp = input()
def main(inp):
length = len(inp)
ans_str = ""
x_cnt = 0
dot_cnt = 0
for i in range(length):
if inp[i] == "X":
x_cnt += 1
if dot_cnt > 0:
ans_str += "." * dot_cnt
dot_cnt = 0
elif inp[i] == ".":
dot_cnt += 1
if x_cnt > 0:
ans_str += "AAAA" * (x_cnt // 4)
if x_cnt % 4 == 0:
pass
elif x_cnt % 4 == 2:
ans_str += "BB"
else:
return -1
x_cnt = 0
if dot_cnt > 0:
ans_str += "." * dot_cnt
if x_cnt > 0:
ans_str += "AAAA" * (x_cnt // 4)
if x_cnt % 4 == 0:
pass
elif x_cnt % 4 == 2:
ans_str += "BB"
else:
return -1
return ans_str
print(main(inp))
- 중복되는 코드 제거하기 위해 함수을 자주 사용해야겠다.