Skip to content
Reto #2Básico 4 resolvieronAbierto

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:

  1. Cada corchete de apertura [ tiene un corchete de cierre ] que aparece después de él.
  2. No se cierra ningún corchete que no haya sido abierto previamente (es decir, no puede aparecer un ] antes de su respectivo [).
  3. 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

Ejemplo

Entrada
[Tornillos] (Caja A)
Salida
CORRECTO

Los corchetes están correctamente balanceados. El paréntesis `(` no se toma en cuenta para el balance.

Soluciones de la comunidad

Cada una pasó el 100% de los casos de prueba en el sandbox.

epython+5 karma

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")
python+5 karma
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")
Alanpython+5 karma
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")
Yisuuus²python+5 karma
c=0;print(["INCORRECTO","CORRECTO"][all((c:=(c+(x=='['))-(x==']'))>=0 for x in input())and c==0])
InicioEventosBlogRecursosCursosEquipo