Este é o segundo de uma série, o terceiro é Duas estradas divergindo em uma madeira amarela (parte 3)
Isso é baseado em duas estradas divergindo em uma madeira amarela (parte 1) , um desafio anterior da minha. Foi bastante bem recebido, mas também foi bastante trivial (uma resposta Java em 52 bytes!) Então, fiz algo mais complexo ...
A inspiração
Este desafio é inspirado no famoso poema de Robert Frost, "The Road Not Taken":
Duas estradas divergiam em um bosque amarelo.
E , desculpe, eu não podia viajar pelas duas.
E ser um viajante, por muito tempo eu fiquei.
E olhei para uma delas o mais longe que pude
.... 2 parágrafos aparados ...
Vou contar isso com um suspiro
Em algum lugar, eras e eras daqui em diante :
duas estradas divergiam em um bosque, e eu -
eu peguei a menos percorrida,
e isso fez toda a diferença.
Observe a penúltima linha I took the one less traveled by,
,. Seu objetivo é encontrar a estrada menos percorrida em sua entrada de string. Você deve emitir um dos 2 valores que são distintos um do outro que sinalizam em que direção você deve virar para pegar a estrada menos percorrida. Uma vez que a estrada bifurca (a trilha dos hexágonos muda para números), você está no cruzamento. A partir daí, haverá 2 caminhos compostos por dígitos. O caminho cujos dígitos têm a menor soma será o caminho não percorrido. Observe que a estrada não percorrida pode ter um caminho maior, mas uma soma menor. Aqui estão alguns exemplos / casos de teste de um programa que imprime "left" ou "right" para o caminho não percorrido:
1 2
1 2
1 2
#
#
#
left (3 < 6)
1 2
2 2
1 1
#
#
#
left (4 < 5)
12 2
11 2
1 1
#
#
#
right (6 > 5)
99 989
99 89
99 99
99 99
#
#
#
#
left (72 < 79)
1111 1110
001 111
11 11
11 11
#
##
##
##
left (9 < 10) (Note: 1111 is interpreted as 1+1+1+1=4, not 1111=1111)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
Coisas para assumir e lembrar
- Sempre haverá 2 caminhos. Nem mais nem menos.
- Você pode obter a entrada do STDIN uma linha de cada vez, uma sequência contendo caracteres LF ou uma sequência contendo uma barra invertida literal e um n. Se você precisar de alguma outra forma, peça aprovação nos comentários.
- Você não precisa se preocupar com entradas inválidas ou caminhos vinculados. Esses nunca serão inseridos no seu programa / função.
- A entrada pode ter qualquer comprimento em largura ou altura, menor que o limite de caracteres do seu idioma.
- Nunca haverá um
#
e um número na mesma linha. - Todos os dígitos no caminho são números inteiros positivos de 0 a 9.
- Entrada ou saída com uma nova linha à direita é permitida.
- Veja minha resposta JS ES6 abaixo para um exemplo.
- Sempre haverá pelo menos 1 espaço entre os 2 caminhos.
- Os 2 caminhos sempre terão a mesma altura para cada mapa, mas podem ser diferentes em outros mapas.
- Se você está confuso sobre um caso de teste específico, por favor me diga.
- 1111 é interpretado como 1 + 1 + 1 + 1 = 4, não 1111 = 1111. O mapa é uma série de números de um dígito, não números de comprimento arbitrário.
- Isso é código-golfe , então a resposta mais curta em bytes vence!
- Lacunas padrão proibidas
Se você tiver alguma dúvida sobre esse desafio, pergunte-me nos comentários e boa sorte!
let answers = $('div > h1').map(function(){return $(this).clone().children(':not(a)').remove().end().text().replace(/\s+/g,' ').trim()}).get();answers.splice(0, 1);answers.join('\n');
$("div > h1").map(function(){return $(this).text()}).get().join("\n");
no seu console!