1343 - 폴리오미노

LeeKyoungChang·2022년 6월 6일
0

Algorithm

목록 보기
144/203
post-thumbnail

📚 1343 - 폴리오미노

폴리오미노

 

이해

AAAA : 4개
BB : 2개 일 때를 기준으로 나뉜다.

X일 때는 횟수를 1씩 증가한다.
.일 때 이전까지 나온 X개수가 홀수라면 나간다. 짝수개라면 0으로 처리한다.

횟수가 2개일 경우, BB
횟수가 4개일 경우, AAAA가 된다.

만약, 횟수가 2의 배수가 아니라면 -1을 출력한다.

 

소스

import sys  
  
read = sys.stdin.readline  
  
board = read().rstrip()  
board += ' '  
# 한 라인 더가서 구해질수도 있다.  
cnt = 0  
answer = ''  
for i in range(len(board)-1):  
    if board[i] == 'X':  
        cnt += 1  
    if board[i] == '.':  
        answer += '.'  
        # 2의 배수가 아니라면  
        if cnt % 2 != 0:  
            break  
        else:  
            cnt = 0  
  
    if cnt == 2 and board[i+1] != 'X':  
        answer += 'BB'  
        cnt = 0  
    elif cnt == 4:  
        answer += 'AAAA'  
        cnt = 0  
  
if cnt % 2 == 1:  
    print('-1')  
else:  
    print(answer)

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글