Скобки
Задана строка, в которой могут быть встречены 3 типа скобок: фигурные, квадратные и круглые. Помимо скобок в строке встречаются и другие последовательности символов. Вложенность скобок может быть произвольной. Необходимо проверить корректность скобочной записи: каждой открывающей скобке должна соответствовать следующая за ней закрывающая скобка того же типа на том же уровне вложенности, не должно быть открывающей или закрывающей скобки без пары.
Входные данные:
Строка, содержащая произвольный набор символов(в т.ч. и без скобок)
Выходные данные:
Программа должна вывести:
А) слово “correct”, если запись корректна или не содержит скобок Б) слово “incorrect”, если запись не корректна
Sample Input:
(this [is] test)
Sample Output:
correct
Напишите программу. Тестируется через stdin → stdout
Time Limit: 15 секунд
Memory Limit: 256 MB
Answers & Comments
Ответ:
a = input()
firs = 0
sec = 0
third = 0
for i in a:
if(i == '{' or i == '}'):
firs += 1
elif (i == '(' or i == ')') :
sec += 1
elif(i == '[' or i == ']'):
third += 1
if( (firs+sec+third) % 2 == 0 ):
print('correct')
else:
print('incorrect')
Объяснение:
Прошел 8 из 10
Ответ:
a = input()
mas = []
answer = ""
test01 = "Incorrect"
test02 = "Incorrect"
def check():
global mas
global answer
global test01
global test02
#Bad, but this test01 deleted
#Second step for check
for infinity in range(100):
for i in range(len(mas)):
try:
m = i + 1
if mas[i] == "[" and mas[m] == "]" or mas[i] == "{" and mas[m] == "}" or mas[i] == "(" and mas[m] == ")":
del mas[i]
del mas[i]
except:
pass
if len(mas) == 0:
test02 = "Correct"
break
else:
test02 = "Incorrect"
#End testing
if test02 == "Correct":
answer = "correct"
else:
answer = "incorrect"
for i in range(len(a)):
if a[i] == "{":
mas.append(a[i])
if a[i] == "[":
mas.append(a[i])
if a[i] == "(":
mas.append(a[i])
if a[i] == "}":
mas.append(a[i])
if a[i] == "]":
mas.append(a[i])
if a[i] == ")":
mas.append(a[i])
del a
del i
check()
print(answer)
Объяснение:
Благодарности не требую, все ради Вас. Прошу отметить как лучшее решение
10/10