Tarefa: converter uma página HTML em uma montanha!
Quando as páginas HTML são recuadas, elas podem se parecer com:
<div>
<div>
<div>
</div>
<div>
<div>
</div>
</div>
</div>
</div>
Mas, para ser sincero, uma montanha é mais representativa dessa estrutura.
Para reescrevê-lo como:
/\
/\/ \
/ \
/ \
As barras mais externas à esquerda e à direita correspondem à div externa - cada par de tags HTML deve ser representado como /
para a tag inicial e \
para a tag final - dentro de todas as tags são "superiores", com a mesma estrutura.
Entrada:
- Não haverá
<!DOCTYPE>
- Não haverá tags de fechamento automático, por exemplo,
<img />
ou<br />
- Pode haver atributos ou conteúdo dentro das tags
- Pode haver espaços ou guias - seu programa deve ignorá-las
- Não haverá espaços entre
<
ou</
e o nome da tag - Toda entrada será HTML válido
Saída - uma montanha representando as tags como acima.
Mais casos de teste:
Entrada:
<div id="123"> HI </div><a><span></span></a>
Saída:
/\
/\/ \
Entrada:
<body id="<"></body>
Saída:
/\
</ div>
? ou podemos supor que a barra é sempre adjacente aodiv
<
ou </
(até o nome da tag) - no entanto, ainda pode haver espaços para atributos, por exemplo:<div id="aDiv">
>
como <a >b</a >
.)