s = input()
stack = []
for ch in s:
if ch == "[":
stack.append(ch)
elif ch == "]":
if not stack:
print("INCORRECTO")
break
stack.pop()
else:
print("CORRECTO" if not stack else "INCORRECTO")La Bitácora del Almacén
bash · c · c++ · go · java · javascript · python · rust · typescript
En un almacén de la Ciudad de México, los trabajadores registran la mercancía usando corchetes [ y ] para organizar las categorías. Un registro se considera válido únicamente si los corchetes están correctamente balanceados.
Un registro está balanceado si:
- Cada corchete de apertura
[tiene un corchete de cierre]que aparece después de él. - No se cierra ningún corchete que no haya sido abierto previamente (es decir, no puede aparecer un
]antes de su respectivo[). - Al finalizar el registro, todos los corchetes que se abrieron han sido cerrados.
Los caracteres que no sean [ o ] (letras, espacios, otros símbolos) deben ser ignorados para el cálculo del balance.
Entrada: Una línea de texto que contiene letras, espacios y corchetes.
Salida:
Imprime la palabra CORRECTO si los corchetes están balanceados, o INCORRECTO si no lo están.
Restricciones:
- 1 ≤ longitud de la cadena ≤ 1000
Example
[Tornillos] (Caja A)
CORRECTO
Los corchetes están correctamente balanceados. El paréntesis `(` no se toma en cuenta para el balance.
Community solutions
Each one passed 100% of the test cases in the sandbox.
text = input()
count = 0
for char in text:
if char == '[': count += 1
elif char == ']': count -= 1
if count < 0: break
print("CORRECTO" if count == 0 else "INCORRECTO")s = input()
pila = []
for i in s:
if i == "[":
pila.append(i)
elif i == "]":
if len(pila) == 0:
print("INCORRECTO")
exit()
elif pila[-1] == "[":
pila.pop()
else:
print("INCORRECTO")
exit()
if len(pila) == 0:
print("CORRECTO")
else:
print("INCORRECTO")c=0;print(["INCORRECTO","CORRECTO"][all((c:=(c+(x=='['))-(x==']'))>=0 for x in input())and c==0])