본문 바로가기
코딩테스트 파이썬/백준

폴리오미노

by 세용용용용 2024. 12. 7.

1343번: 폴리오미노

 

나의 풀이

import sys

def _ch_pr(now_pr):
    if ((now_pr % 2) != 0):
        return False
    return ('AAAA'*(now_pr // 4) + 'BB'*((now_pr % 4) // 2))
    
def _pr(n):
    for i in range(len(n)):
        if (n[i] == ''):
            continue
        if _ch_pr(len(n[i])): # 덮을 수 있으면
            n[i] = _ch_pr(len(n[i]))
        else: # 없으면
            return -1
    return '.'.join(n)

n = sys.stdin.readline().rstrip().split('.')
print(_pr(n))

 

시간 복잡도

_pr 함수 : 입력 배열을 순회하며 폴리오미노 체크 및 변환 ( 선형 시간 복잡도 )
해당 알고리즘 시간 복잡도 : 선형 시간 복잡도 ( O(n) )

'코딩테스트 파이썬 > 백준' 카테고리의 다른 글

메시지  (0) 2024.12.10
귀걸이  (0) 2024.12.09
연도 진행바  (1) 2024.12.06
그룹 단어 체커  (0) 2024.12.06
만취한 상범  (0) 2024.12.05