freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/data-structures/learn-how-a-stack-works.por...

3.1 KiB

id title challengeType videoUrl localeTitle
587d8250367417b2b2512c5e Learn how a Stack Works 1 Aprenda como funciona uma pilha

Description

Você provavelmente está familiarizado com a pilha de livros em sua mesa. Você provavelmente usou o recurso de desfazer de um editor de texto. Você provavelmente também está acostumado a apertar o botão Voltar do seu telefone para voltar para a visualização anterior no seu aplicativo. Você sabe o que todos eles têm em comum? Todos eles armazenam os dados de uma maneira que você possa percorrer para trás. O livro mais alto na pilha foi o que foi colocado lá por último. Se você remover o livro do topo de sua pilha, exporia o livro que foi colocado antes do último livro e assim por diante. Se você pensar sobre isso, em todos os exemplos acima, você está recebendo o tipo de serviço Last-In-First-Out . Vamos tentar imitar isso com o nosso código. Esse esquema de armazenamento de dados é chamado de pilha . Em particular, nós teríamos que implementar o método push() que empurra objetos JavaScript no topo da pilha; e o método pop() , que remove o objeto JavaScript que está no topo da pilha no momento atual.

Instructions

Aqui temos uma pilha de trabalhos de casa representados como um array: "BIO12" está na base, e "PSY44" está no topo da pilha. Modifique a matriz dada e trate-a como uma stack usando os métodos JavaScript mencionados acima. Remova o elemento superior "PSY44" da pilha. Em seguida, adicione "CS50" para ser o novo elemento superior da pilha.

Tests

tests:
  - text: <code>homeworkStack</code> deve conter apenas 4 elementos.
    testString: 'assert(homeworkStack.length === 4, "<code>homeworkStack</code> should only contain 4 elements.");'
  - text: O último elemento no <code>homeworkStack</code> <code>&quot;CS50&quot;</code> deve ser <code>&quot;CS50&quot;</code> .
    testString: 'assert(homeworkStack[3] === "CS50", "The last element in <code>homeworkStack</code> should be <code>"CS50"</code>.");'
  - text: <code>homeworkStack</code> <code>&quot;PSY44&quot;</code> não deve conter <code>&quot;PSY44&quot;</code> .
    testString: 'assert(homeworkStack.indexOf("PSY44") === -1, "<code>homeworkStack</code> should not contain <code>"PSY44"</code>.");'
  - text: A declaração inicial <code>homeworkStack</code> não deve ser alterada.
    testString: 'assert(code.match(/=/g).length === 1 && /homeworkStack\s*=\s*\["BIO12"\s*,\s*"HIS80"\s*,\s*"MAT122"\s*,\s*"PSY44"\]/.test(code), "The initial declaration of the <code>homeworkStack</code> should not be changed.");'

Challenge Seed

var homeworkStack = ["BIO12","HIS80","MAT122","PSY44"];
// Only change code below this line

Solution

// solution required