Скобки

Задана строка, в которой могут быть встречены 3 типа скобок: фигурные, квадратные и круглые. Помимо скобок в строке встречаются и другие последовательности символов. Вложенность скобок может быть произвольной. Необходимо проверить корректность скобочной записи: каждой открывающей скобке должна соответствовать следующая за ней закрывающая скобка того же типа на том же уровне вложенности, не должно быть открывающей или закрывающей скобки без пары.

Входные данные:

Строка, содержащая произвольный набор символов(в т.ч. и без скобок)

Выходные данные:

Программа должна вывести:

А) слово “correct”, если запись корректна или не содержит скобок Б) слово “incorrect”, если запись не корректна

Sample Input:

(this [is] test)
Sample Output:

correct
Напишите программу. Тестируется через stdin → stdout

Time Limit: 15 секунд
Memory Limit: 256 MB

Ответы

Ответ дал: Алахахбар228
6

Ответ:

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

Ответ дал: DimA23000
22

Ответ:

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


Gdaniatyt: А какой язык программирования выбрать?
DimA23000: Python 3
Вас заинтересует