T = int(input())

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

    # 초기 글자
    word = list(str(input()))

    # 문자열의 길이
    l = len(word)

    # 삽입할 하이픈의 갯수
    h = int(input())

    # 하이픈을 넣을 위치
    word_insert = list(map(int,input().split()))

    # 정렬
    word_insert.sort(reverse=True)

    # - 집어 넣기
    for q in word_insert:
        word.insert(q,'-')

    # 출력
    print('#{}'.format(tc),end=' ')
    for num in range(len(word)):
        if num != len(word)-1:
            print(word[num],end='')
        else:
            print(word[num])

그 외

문제 풀이를 위한 아이디어

 

1. 정렬을 한 이유는 인덱스 값을 변화시키지 않기 위해서이다.

ex) 2 2 3 의 순서로 '-'을 입력할 때, wo-w => wo--w => wo---w가 됨

그러나 3 2 2 순서로 입력하면, wow- => wo-w- => wo--w-가 됨

# 물론 어디선가 오류가 발생할 수 있는 아이디어입니다. 

 

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

 

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

 

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