from typing import List
def make_sound(word: str, h: int, nums: List[int]) -> str:
dict, result = {}, ''
for x in range(len(word)+1):
if x == 0:
dict[x] = ''
else:
dict[x] = word[x-1]
for num in nums:
dict[num] += '-'
for value in dict.values():
result += value
return result
T = int(input())
for test_case in range(1, T + 1):
word = str(input())
h = int(input())
nums = list(map(int, input().split()))
print(f'#{test_case} {make_sound(word, h, nums)}')
T = int(input()) # 테스트 케이스의 수를 입력받습니다.
for test_case in range(1, T + 1):
string = input() # 문자열을 입력받습니다.
H = int(input()) # 하이픈의 개수를 입력받습니다.
positions = list(map(int, input().split())) # 하이픈을 넣을 위치를 입력받습니다.
# 문자열에 하이픈을 삽입하여 새로운 문자열을 생성합니다.
new_string = ""
index = 0
for i in range(len(string)):
if index < len(positions) and i == positions[index]:
new_string += "-" * H
index += 1
new_string += string[i]
if index < len(positions):
new_string += "-" * H
# 생성된 문자열을 출력합니다.
print(f'#{test_case} {new_string}')
입력값으로부터 테스트 케이스의 수 T를 받습니다.
T번 반복하면서 각 테스트 케이스에 대한 입력값을 받습니다.
문자열과 하이픈의 개수 및 위치를 입력받습니다.
하이픈을 문자열에 삽입하여 새로운 문자열을 생성합니다.
생성된 문자열을 출력합니다.
ChatGPT 코드 시간복잡도: O(T * (L + H))
내 코드 시간복잡도: 전체 시간 복잡도는 O(T * (L + H))
코드 효율성 동일하다.