Salve rede!
Quanto tempo não apareço aqui, começar na faculdade claramente impactou minha vida, como vocês tão?
Vou tentar ir voltando aos pouquinhos, saudade desse lugar.
@thiagofealves.bsky.social
Software Engineer & OffSec Enthusiast Information Systems 1/8 Portfolio: https://thiagofelipealvesdocarmo.me
Salve rede!
Quanto tempo não apareço aqui, começar na faculdade claramente impactou minha vida, como vocês tão?
Vou tentar ir voltando aos pouquinhos, saudade desse lugar.
Por fim, basta retornar o valor da variável result e o problema está resolvido
Gostou? Segue pra mais!
- Na segunda condicional, que é ativada quando o 1° algarismo é maior que o 2°, o valor do primeiro é adicionado ao resultado
- Note que dessa forma, o ultimo algarismo não é somado ao resultado dentro do loop for, para consertar isso adicionono ele manualmente na linha 19
- Nesse loop, crio duas condicionais, na primeira verifico o valor correspondente no hashmap de dois algarismos ao mesmo tempo, caso o segundo seja maior que o primeiro (como no caso do IX, que funciona como 10 - 1) o primeiro é subtraído do total.(Note que 1° e 2° não são os primeiros 2 da lista)
- O uso de um hashmap aqui é importante pois a complexidade para encontrar um valor dentro dele é O(1), ou seja, constante, isso ajuda a otimizar o código e reduzir o runtime!
- Em seguida, começo um loop for que vai do primeiro até o penúltimo algarismo do número romano, dois por vez.
Começo minha solução definindo alguma variáveis úteis:
- s que armazena uma lista do número romano com as letras separadas
- result que é o valor final a ser retornado
- hashmap, um dicionário em python com todos os números e seus valores
Vamos para o terceiro problema do algomap.io:
Proposta: Converter números romanos para numerais em base 10 e retornar seu valor, mais explicações sobre o funcionamento no enunciado da questão.
#studytech #studytechbr #bolhadev #coding
Aaaacho que entendi,valeu!
23.09.2024 19:31 — 👍 0 🔁 0 💬 0 📌 0Eu me perdi totalmente na sua solução KKKKKKKKKK
23.09.2024 19:16 — 👍 0 🔁 0 💬 0 📌 0No final de cada condição if, adicionamos a letra correspondente à result e aumentamos o index correspondente
Finalizando, juntamos todas as letras dentro de result em uma string usando ''.join(result) e retornamos o resultado na função
Gostou? Segue pra mais!
Isso garante que as letras serão adicionadas alternadamente conforme o problema pede, pois ele sempre tenta a primeira palavra, depois a segunda e repete, e caso alguma das duas acabe, ele só escreve as letras sobressalentes da palavra que ainda não terminou
23.09.2024 13:27 — 👍 1 🔁 0 💬 1 📌 0- Loop while: Mantém o bloco de código "dentro" dele se repetindo enquanto não tivermos chegado ao final de AMBAS as palavras
- Condições if: Como o código é lido sempre em ordem de cima para baixo, usamos as condições if para conferir se ainda não chegamos ao final da palavra e adicionar uma letra
- len1 e len2, que são os tamanhos das duas palavras, serve para deixar o código mais limpo e economizar tempo ao invés de escrever len(word1) o tempo todo
-index1 e index2, são duas variáveis para marcar o progresso percorrendo as palavras, sempre que verificarmos uma letra nova seu index aumentará
Código que resolve um dos problemas do website Leetcode
Começo já definindo algumas variáveis que serão úteis:
- result, que vai armazenar as letras em ordem a partir de uma lista, é importante que seja assim pois strings em python são imutáveis, ou seja, para adicionar letras novas strings seriam criadas, o que é ineficiente e deixaria o código lento
Um problema do website leetcode resolvido, seu nome é "Merge strings alternatively"
Vamos pro segundo problema do algomap.io no Leetcode!
Proposta do problema: Juntar duas string alternativamente(alternando as letras), caso uma "palavra" seja maior que a outra, as letras sobressalentes devem ser colocadas ao final do resultado.
Segue a thread!
#bolhadev #studytech #studytechbr
Consegui colocar domínio no meu portfólio usando o GitHub Student Pack!! Fica a dica pra quem tá na faculdade ai
Se alguém quiser dar uma conferida, aceito muito qualquer feedback!
thiagofelipealvesdocarmo.me
#studytech #studytechbr #bolhadev
- A segunda condição confere caso ambos os valores tenham a mesma distância do 0 e substitui result pelo valor que seja maior, conforme a instrução do problema
- Por fim, retornamos o valor de result depois que o programa confere todos os itens da lista
Gostou? Curte e segue pra mais!!
- Agora com todos os valores positivos fica mais fácil comparar, a primeira condição confere e substitui o valor do result caso o valor que está sendo verificado(i) seja menor(ou seja, mais próximo de 0) que o valor que está em result atualmente
20.09.2024 22:20 — 👍 0 🔁 0 💬 1 📌 0- Da linhas 5-8 eu coloco as condições que vão verificar todos os itens da lista
- Reparem no uso da função abs, que retorna o módulo do número(|n|), isso serve para transformar os números negativos em positivos temporariamente +
Abaixo está o código que eu usei pra resolver:
- As primeiras duas linhas são geradas pelo proprio leetcode, definindo a classe e função
- Na linha 3, eu inicio a variável "result" como "infinito", dessa forma qualquer número vai estar mais próximo de 0 que ele
- Na linha 4 eu itero sobre a lista +
Contexto do problema: A ideia é procurar o número mais próximo numericamente de 0 numa lista e retornar ele na função, caso mais de um deles esteja na mesma distância, o número maior deve ser retornado.
Exemplos:
Na lista [1,-1,2,3] o resultado deve ser 1
Na lista [3,-2,5,7] o resultado deve ser -2
Seguindo as pessoas que me pediram ontem pra postar resolução de alguns problemas no leetcode, vou ir fazendo em ordem os problemas listados no algomap.io, caso queiram algum específico, mandem pra mim que eu tento fazer!
Segue a thread!
#studytech #studytechbr #bolhadev
Ah não,deu tudo certo no final
Só demorei quebrando a cabeça por falta de prática, mas precisando eu chamo sim!
Uma room considerada iniciante do Tryhackme.com
Seguindo a humilhação de ontem, hoje apanhei por duas horas numa room que não só tá marcada como fácil como o nome tem básico também 😍
#bolhadev #bolhasev #studytech #studytechbr
Saquei,vou dar uma olhada, valeu pela dica!
20.09.2024 00:23 — 👍 0 🔁 0 💬 0 📌 0Nem sabia oq era algoritmo e estruturas de dados antes de ver o canal dele,mas tô curioso, já que você conhece oq fez você escolher o outro que vc segue ao invés desse?
20.09.2024 00:12 — 👍 0 🔁 0 💬 1 📌 0Boa! Eu sigo um que chama algomap.io
19.09.2024 22:58 — 👍 1 🔁 0 💬 1 📌 0Ideias de onde especificamente eu focaria? Pq no Leetcode tem de tudo
19.09.2024 22:11 — 👍 1 🔁 0 💬 1 📌 0Aproveitando o gancho desse post de mais cedo, vocês iam gostar se eu trouxesse alguns problemas do Leetcode resolvidos? Não garanto que vai ser o código mais perfeito do mundo mas eu garanto que explico como eu pensei pra resolver!
#studytech #studytechbr #bolhadev
Tela de conclusão da Room U.A do Tryhackme
Imagem do terminal de conclusão da room U.A do TryHackMe, além de alguns comandos, o terminal tem a frase "You Are Now the No1 Hero"
Pensa num negócio que exigiu cada neurônio que ainda sobrava no meu cérebro... e olha que tá escrito "Fácil"!
#bolhadev #bolhasec #studytech #studytechbr