T = int(input())

for tc in range(1,1+T):

    # 단어
    word = str(input())

    # 단어의 길이
    word_len = len(word)

    # .으로 5줄 만들기
    # 4*word_len+1은 장식 후 문자열의 가로 길이
    board = [['.']*(4*word_len+1) for _ in range(5)]

    # 글자를 인덱싱하기 위한 값
    idx = 0

    for q in range(4*word_len+1):

        # .을 #으로 변경
        if q%4 == 0:
            board[2][q] = '#'

        # 위 아래 .을 #으로 변경
        elif q%4 == 1 or q%4 == 3:
            board[1][q] = '#'
            board[3][q] = '#'

        # 단어 넣고, 위로 2칸 아래로 2칸의 .을 #으로 변경
        else:
            board[0][q] = '#'
            board[4][q] = '#'
            board[2][q] = word[idx]
            idx += 1

    for w in board:
        for e in w:
            print(e,end='')
        print()

그 외

 

 

ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다