Segundo a lenda , quase todo mundo é derrotado por Dennis . Se não, eles serão.
Agora estou curioso para saber se sou um desses 'quase todo mundo'.
Você receberá um link para uma resposta no formato de /codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]
.
Encontre o comprimento do código, que assumiremos como o último número na primeira linha (remarcação) da resposta no link.
Em seguida, procure as respostas de Dennis e faça o mesmo.
Agora compare o comprimento do código de entrada e de resposta de Dennis e, se estiver fora do campo de golfe (o que significa que uma ou mais respostas de Dennis é menor que a resposta de entrada), produza um valor verdadeiro e, se não, um valor falso.
Se não houver resposta pertencente a Dennis na mesma pergunta que a resposta, produza um valor falso.
Exemplos
Regras
- Você pode usar qualquer forma de valor de verdade / falsidade.
- A pergunta da resposta que você recebe será sempre código-golfe .
A pergunta pode não ter uma resposta de Dennis ', mas a resposta inserida nunca pertencerá a Dennis.
Você pode assumir que sempre existe um número na primeira linha da resposta.
fonte
Respostas:
Python 3.6 + solicitações + bs4 -
363358 bytesImprime
True
ouFalse
.Nota: no momento, não funciona no segundo link devido ao HTML inválido produzido por esta resposta (as tags
em
estrong
são finalizadas na ordem errada no final da segunda linha e faz com que o analisador perca o bloco de nome de usuário). Experimente neste link .Usando a API -
401380 bytesObserve que isso também falha no segundo link, mas porque uma resposta começou com em
This may be foul play.
vez do cabeçalho ...fonte
filter=withbody
está em sua solicitação GET para obter o corpo da resposta para obter a contagem de bytesa
duas vezes (uma vez para definir o ID resposta, e outra quando a iteraçãor["items"]
, o que levaria a um comportamento incorreto. Além disso, você não precisa definir apagesize
(o padrão será 30).c=int(re.search(r'(\d+) bytes').group(1))
Deve dar-lhe uma recuperação mais precisa de bytecount e é mais curto, e se ele ainda falhar,(\d+)\s*bytes
faz o truque, mas é um pouco mais Finalmente,.i=r["has_more"]and i+1
é mais curto do que o seu ternário condicional.Ruby,
314315308 + 20 =334335328 bytesUsa as bandeiras
-n -rjson -ropen-uri
. +1 byte da correção de um bug menor.-7 bytes, descobrindo a
open-uri
biblioteca padrão do Ruby.fonte