Por acaso, olhei para o meu relógio hoje exatamente às 11:11:11 (e hoje é 1/11; pena que não é 2011), e isso me fez pensar: eu sei! Eu deveria fazer disso uma questão de código de golfe! Eu sou um trouxa.
De qualquer forma, seu desafio é levar uma hora, minuto e segundo como entrada e gerar o próximo horário "interessante". Aqui, definirei interessante como estas etapas:
- Concatene a hora, o minuto e o segundo. (Por exemplo, às 4:14:14, seria 41414.)
- Verifique se há grupos consecutivos de um, dois ou três que abrangem o comprimento de toda a cadeia. Por exemplo, eu poderia encontrar
[41][41][4]
no tempo do exemplo (se o grupo não puder alcançar a string, basta cortá-la como fiz neste exemplo). Outro exemplo: no tempo em meu primeiro exemplo no início da questão, seria[1][1][1][1][1][1]
,[11][11][11]
ou[111][111]
. - Existe um grupo consecutivo que percorre todo o caminho da cadeia? Nesse caso, o tempo é "interessante!" Caso contrário, não é.
A entrada pode estar em qualquer formato razoável , mas não deve ser codificada. A saída também pode estar em qualquer formato razoável e não precisa estar no mesmo formato da entrada.
Se você usa o acesso à rede por algum motivo, todos os bytes baixados da rede contam para a sua pontuação.
Isso é código-golfe ; o código mais curto em bytes vence.
Respostas:
J,
1139990Provavelmente ainda é bastante jogável.
Pega um vetor
(h m s)
como entrada e retorna um vetor no mesmo formato da saída.Exemplos:
fonte
Haskell -
227223Essa é uma maneira de fazer isso.
Exemplos
fonte
Mathematica 125
Ele retorna um padrão do próximo momento interessante:
a_
marca o fim dos tempos.fonte
Lua
Eu tenho quatro soluções diferentes, pois não tinha certeza sobre alguns dos requisitos.
Versão 1: remoção de 0s, entrada de linha de comando, bem como os.time () backup (315)
Minimizado:
Versão completa com comentários:
As outras versões são muito semelhantes, então eu publicarei apenas as versões minimizadas:
Versão 2: nenhuma entrada de linha de comando (239)
Versão 3: remoção 0, com entrada de linha de comando (240)
Versão 4: nenhuma das coisas sofisticadas (nenhuma remoção de 0 ou entrada de linha de comando) (164)
Instruções de uso
Em um terminal, execute (versões 1 e 3)
ou apenas
Se você deseja que ele desligue o relógio do sistema.
Existe um prêmio pela integridade dos recursos? : P
fonte