🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
ProgerLib सभी के लिए Python
आपको एक पंक्ति दी जाएगी जो एक निश्चित नियम के अनुसार "पैक" की गई है: k [subject] का अर्थ है कि वर्गाकार कोष्ठकों के अंदर का subject ठीक k बार दोहराया जाता है। संख्या k हमेशा एक धनात्मक पूर्णांक होती है। आपका कार्य — प्रारंभिक पंक्ति को "अनपैक" करना है।
ध्यान दें कि पंक्तियाँ एक-दूसरे के अंदर निवेशित हो सकती हैं। उदाहरण के लिए, 3[a2[c]] का अर्थ है कि पंक्ति a2[c] को 3 बार दोहराया गया है। पहले आपको आंतरिक भाग 2[c] को cc में अनपैक करना होगा, फिर इसे a... में प्रतिस्थापित करके acc प्राप्त करना होगा, और अंत में acc को 3 बार दोहराकर accaccacc प्राप्त करना होगा।
एक पंक्ति बिना अंतराल के जिसमें लैटिन वर्णमाला के छोटे अक्षर, संख्याएँ और वर्गाकार कोष्ठक & nbsp;
एक पंक्ति & mdash; पूर्ण अनपैकिंग का परिणाम।
3 [a] 2 [bc]
aaabcbc
def unpack_string(s: str) -> str:
"""
Распаковывает строку вида k[substring], включая вложенные структуры.
"""
stack = []
current_num = 0
current_string = ''
for char in s:
if char.isdigit():
# Собираем число, если оно многозначное (например, 10, 12)
current_num = current_num * 10 + int(char)
elif char == '[':
# Начало новой подстроки. Сохраняем текущее состояние в стек.
# Сохраняем текущую строку и число-повторитель для нее.
stack.append(current_string)
stack.append(current_num)
# Сбрасываем переменные для нового уровня вложенности.
current_string = ''
current_num = 0
elif char == ']':
# Конец подстроки. Достаем из стека предыдущее состояние.
num = stack.pop()
prev_string = stack.pop()
# Формируем новую текущую строку, повторяя распакованный фрагмент
# и добавляя его к строке предыдущего уровня.
current_string = prev_string + current_string * num
else:
# Просто добавляем букву к текущей строке.
current_string += char
return current_string
input_string = input()
result = unpack_string(input_string)
print(result)
🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
AD
विज्ञापन
कोड चल रहा है...