Advent of Code 2020

¿Dónde me apunto?

https://adventofcode.com/

Normas

  • Cada día se desbloquea un problema nuevo
  • Programas en el lenguaje que te da la gana
  • Utilizas las técnicas que te da la gana
  • Le dedicas el tiempo que te da la gana
  • Cada problema tiene una caja de texto para meter la solución (suelen ser números o alguna cadena de texto pequeña)

Leaderboard privado para el pique sano

NSFW

Las respuestas se postean en Spoiler + code

AikonCWD

#180 Ostias vaya tocho

1 respuesta
Saiko9

#181 jajaja.

Si, lo que comentaba, busco mas el aprender c++ que otra cosa. No me renta resolverlo a la vez que se lee el fichero, podría hacer las mismas comparaciones y ahorrarme las estructuras y basicamente todo el fichero xD.

1 respuesta
Fyn4r

#180 Las estrellas te las dan siempre, lo único que para el ranking cuanto antes lo resuelvas te llevas más puntos

1 respuesta
desu

#179 Sin duda lisp es el clean code por excelencia. poder ampliar tu lenguaje. la simpleza y claridad de su sintaxis. que no te gusta como esta escrito algo? lo re implementas.

es tan facil

#183 Siempre? no lo tengo tan claro eh... para el leaderboard no salen creo.

PART 2

spoiler

De momento lo que menos me esta gustando de clojure es el tooling, no entiendo lo delas sequencais que me falla y no tengo manera de googlearlo... Si hiciese haskell nunca tendria estos problemas gracias al system f. haskell>clojure.

1 respuesta
Fyn4r

#184 Las estrellas entiendo que sí, al final es la forma que tienes de ver tu progreso, de hecho yo tengo las 4 y el día 1 lo hice hoy. Ahora, sin dan puntos o no ya no lo sé.

Ranthas

Bueno, terminado en Java, el primero con regexp, el segundo con el operador XOR.

Ni refactor ni pollas, copypasteando se resuelve todo antes

GuaNaGe

Me pongo con el segundo.

¿Alguien me explica que tengo que hacer? No me queda muy claro al traducir.

Primer dígito indica el mínimo y el segundo el máximo. Lo tercero es el carácter a buscar en la cadena que es el cuarto.

¿Contar cuantos de toda la lista cumplen ese patrón?

2 respuestas
B

#187 tienes una lista de strings con el siguiente formato

a-b c: d

Siendo a,b dos numeros naturales, c una letra de la a la z en minuscula, y d un string de minusculas

1) a y b son el numero minimo y maximo de ocurrencias de c que puede haber en d, escribe cuantos strings cumplen esta norma
2) a y b son dos posiciones de d, exactamente una de ellas ha de contener la letra c, escribe cuantos strings cumplen esta norma

Ranthas

#187 El primero, que el nº de apariciones del caracter que te dan este dentro del rango de los digitos que te dan.

El segundo, los digitos representan indices de la contraseña, te piden que el caracter que te den aparezca en uno de esos dos indices.

desu

Los que haceis XOR habeis comprobado que sea mejor? Lo dudo. Dudo que un compilador no te lo optimize.

1 respuesta
B

#190 Para una comparación que se va a ejecutar una única vez tampoco importa mucho

T

Bueno ya lo he terminado

spoiler

@Fyn4r Añademe a la lista. A ver hasta donde llego

bornex

Pues ya he sacao el segundo día, me entretengo más aprendiendo Rust que en el problema en sí, espero no bajarme del carro.

https://github.com/soasada/advent-of-code-2020/blob/master/crates/day2/src/day2.rs

R

Por aqui dejo el dia 2 en Python. Regex para leer la entrada y poco mas.

parte 1

spoiler

parte 2

spoiler
1 respuesta
Leos

Dia 1 acabado, he refactoriazdo el 1 y he hecho el 2 sin calentarme mucho la olla, fuerza bruta a tope, que aprender rust ya me ocupa mucho tiempo xD

https://github.com/Leos1113/Advent-of-code-2020/tree/main/day1

eisenfaust

2-1 y suficiente por hoy. Esta vez con structs para simplificar un poco el stack. Hay hasta tests para hacerme el hipster.

2
B

#194 lol, lo hemos solucionado igual, la regex es clavada de hecho xddd

1 respuesta
B

.

AikonCWD

Yo estoy flipando con los lenguajes que estáis usando. Cada cual más raro que el anterior

Me gusta

1 respuesta
aren-pulid0

#199 eisenfaust se pasa el juego

AikonCWD

nadie lo hace en brainfuck? Tentado estoy de participar con Pico8, pero creo que hacerlo con GodotEngine ya es bastante troll.

JuAn4k4

Voy a ser el último en el lader si solo puedo hacerlo de noche xD

Rust (Las dos fases): https://github.com/juancarrey/aoc-2020/blob/main/day_2/src/main.rs

spoiler

#67 He metido workspaces y el plugin del Idea se ha vuelto majareta descargando stdlib, la cpu al 100%, gracias :) jajajaj

2 respuestas
Lecherito

#202 lmao, a mi me va perfe. Aunque no se el tiempo que me quede a mi en intellij la verdad, visto lo visto

1
Leos

He refactorizado el dia 1 parte 2 para no usar simplemente fuerza bruta y ya.

spoiler
privet

#202 por qué has hecho una cruz con el 1 else 0 {😂

Estoy mirando algunos códigos y Rust me parece bastante complicado de entender comparado con otros

1 respuesta
Mewtwo

#182 si estas aprendiendo c++ por dios evita a toda costa usar defines.

1 respuesta
JuAn4k4

#205 A que te refieres con Cruz? Al final lo deje en una línea en uno y tres en otro por comparar. Creo que en este se lee muy bien Rust, ya que no hay nada súper raro. Lo único que veras diferente de Java/C# son los unwraps, que están puestos a pelo para no comprobar el Result que puede ser Ok O error.

2 respuestas
AikonCWD

Estoy leyendo el día 3 mientras me tomo el café. Este me mola mucho

1 respuesta
Traber

#208 Resuelto, bastante interesante, en este recomiendo hacer ya funciones externas para resolver cada run, porque lo vais a necesitar xD.

1 respuesta
NeV3rKilL

#209 se huele el intcode de 2020 en el aire? Yo ahora lo miraré.