[Greedy] 폴리오미노

박고은·2023년 5월 1일
0

알고리즘

목록 보기
2/12

def polyomino(s):
    r = ''
    if '.' in s:
        for c in s.split('.'):
            if len(c)%2==1: return -1
            else:
                if len(c)>=4:
                    a = "AAAA"*(len(c)//4)
                    r += a + "BB"*((len(c)-len(a))//2)
                elif len(c)==2:
                    r += "BB"
            if len(r)<len(s): r += '.'

    else:
        r = "AAAA"*(len(s)//4) if len(s)%4==2 or len(s)%4==0 else -1
        if r!=-1: r += "BB"*((len(s)-len(r))//2)
        
    return r

s = input()
print(polyomino(s))

AAAA를 먼저 채우고 나머지를 BB로 교체
.이 포함된 문자열은 . 단위로 분리하여 처리하고 .과 함께 더하는 방식으로 해결

0개의 댓글