T = int(input())

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

    # 단어 수
    n = int(input())

    # 단어
    words = list(map(str,input().split()))

    # 나뉘는 값
    median_num = n//2

    # 저장 공간
    res = []

    # 값을 추가할 위치 값
    idx = 1

    # 나누기
    # n이 짝수인 경우
    if n % 2 == 0:

        for q in range(n):
            if q < median_num:
                res.append(words[q])
            else:
                res.insert(idx,words[q])
                idx += 2

    else:

        for q in range(n):
            if q < median_num+1:
                res.append(words[q])
            else:
                res.insert(idx, words[q])
                idx += 2


    print('#{}'.format(tc), *res)

그 외

문제 풀이를 위한 아이디어

 

1. 중간값을 나누는 것이 가장 중요하다고 생각했음

(짝수인 경우와 홀수인 경우)

 

 

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

 

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

 

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