Executando verificação de segurança...
1

[ARTIGO] - Existe mais de uma forma de resolver problemas

E é possível que executá-los te ajudem a passar em uma entrevista de emprego

Hoje estava fazendo meu desafio diário do Hackerrank, que eu voltei a pouco tempo para praticar um pouco fora do trabalho e cheguei a um insight interessante:

Que tal se eu tentar resolver o problema sem pesquisar pela resolução e tentar fazer meu cérebro trabalhar um pouco? E comecei a ler o problema Time Conversion.

E com isso, eu desenvolvi um código claramente ruim, mas que resolvia o problema, sabendo que claramente existem formas mais adequadas de fazê-lo, mas eu queria ao menos ver os testes passando sem ver a resposta na minha frente, fazer meu cérebro trabalhar pra isso.

def timeConversion(s):
    new_hour = ''
    if s[-2:] == 'AM':
        new = int(s[0:2]) - 12
        if new >= 0:
            new_hour = str(new).zfill(2) + s[2:-2]
        else:
            new_hour = s[:-2]
    elif int(s[0:2]) == 12:
        new_hour = s[:-2]
    else:
        new = int(s[0:2]) + 12
        new_hour = str(new) + s[2:-2]
    return new_hour

E depois de ver os testes passando, pensei: Como melhorar esse código ao extremo?

E com alguns minutos de busca no google, cheguei ao código:

from datetime import datetime

def timeConversion(s):
    in_time = datetime.strptime(s, "%I:%M:%S%p")
    out_time = datetime.strftime(in_time, "%H:%M:%S")
    return out_time

Assim, me veio o insight: É um processo natural saber como algo deve ser resolvido, mas fazê-lo nem que seja de uma forma inadequada, faz seu cérebro se acostumar a resolver problemas antes de sair correndo pela resposta. E também não há problema nenhum de pesquisar sobre o assunto, já que com isso é possível conseguir uma solução mais precisa que resolva o problema de um jeito melhor.

E não só isso, usar esse fluxo em uma entrevista técnica pode mostrar que não só você sabe programar, como sabe que nem sempre vai criar códigos perfeitos, e que sabe como e onde procurar quando isso acontecer.

Acesse o artigo abaixo para mais detalhes!

Carregando publicação patrocinada...
2
1

Boa, é isso aí, eu vi várias pessoas da facul e do trabalho travarem em soluções e pedindo ajuda antes mesmo de tentar "operacionalizar" o problema, queria falar aqui pra ver se consigo dar o toque em alguém que a gente precisa desse esforço pra poder ter resultados!

1

Que tal se eu tentar resolver o problema sem pesquisar pela resolução e tentar fazer meu cérebro trabalhar um pouco?

Parabéns, você entendeu para que servem os desafios de programação.

1

Bom, pode ser que tu não tenha entendido o propósito/público alvo dessa publicação, mas de qualquer forma agradeço pelo seu feedback!

Abraço!