Kategorie: Nezařazené

  • Jak se zbavit dual bootu, aneb pohřbívám Linux

    Nadešel ten čas, kdy jsem se konečně odhodlal koupit si licenci na Windows 10 a uvolnit ty stovky GB na partitions, kde jen latentně ležel Linux. Ovšem ve svém MBR jsem měl po celou tu dobu GRUB, kterého na první pohled není až tak jednoduché se zbavit, ale konečně jsem narazil na ten správný a jednoduchý tutoriál:

    Spusťte příkazovou řádku pod právy administrátora a jestli je váš Windows nainstalován na disku C:, pak spusťte tento příkaz:

    bootsect /nt60 C: /mbr

    Restartujte PC a je to. Váš nový život může začít … 😀

  • Nový DnB track: Vitamin L

    Čas oslavit pátek vyváženou konzumací Vitamínu L😁🎉

  • Advent of Code v Kotlinu (zakončení)

    Po pár vynechaných dnech kvůli přílišné náročnosti mě už nějak přešla chuť pokračovat dál, a tak končím s 32 hvězdičkami, kde odteď si již budu užívat klidu Vánočních svátků.

    Veselé Vánoce vám všem! 🙂

  • Advent of Code v Kotlinu (Den 18.)

    Den 18. byl tak trochu variací na “The Game of Life”, kde druhou část jsem již vyřešil s trochou matematické magie 🙂 .

  • Advent of Code v Kotlinu (Den 17.)

    17. den byl o simulaci toku vody a napouštění do různých nádržích pod sebou. Nicméně ačkoliv mi voda tekla celkem pěkně, správnou odpověď jsem nezískal. Můj časový limit pro dnešek vypršel a tak si opět počkám, co bude zítra 🙂 . Můj kód, na kterém jsem skončil je zde:

  • Advent of Code v Kotlinu (Den 15. a 16.)

    Jelikož byl den 15. naprostá šílenost, tak jsem si řekl, že si určitě najdu nějakou zábavnější činnost než celý víkend od rána do večera sedět u PC ve snaze získat alespoň 1 hvězdičku. Děkuji, ale za tohle mi to opravdu nestojí. Nicméně den 16. se opět vrátil do rozumných mezí, kde obě řešení se mi podařilo najít na první dobrou a to dokonce bez unit testů!

  • Advent of Code v Kotlinu (Den 14.)

    První část už byla trochu známá (viz podobná úloha s kuličkami v kruhu), ale druhá část byla opět zapeklitá z pohledu performance. Už jsem to chtěl pomalu vzdát, ale ještě jsem zkusil své řešení přeimplementovat kompletně bez použití Listu a zde jsem se již správné odpovědi dočkal!

  • Advent of Code v Kotlinu (Den 13.)

    Dnes se mi povedla pouze část A. I přestože mi část B fungovala pro jejich příklad správně, konečný výsledek z nějakého důvodu správný nebyl – netuším proč, ale screw it 🙂 .

    EDIT: Po poradě na Kotlin Slacku jsme přišli na to, že rozbourané vozíky musím odstranit ihned po kolizi ještě v rámci daného “ticku”. Řešení níže je nyní již opraveno.

  • Advent of Code v Kotlinu (Den 2.)

    Doháním deficit a zde je řešení pro den 2.

    A:

    fun hasSameLettersCount(id: String, occurrences: Int): Boolean {
        val sameLetterCounts = id.groupBy { it }
            .values
            .map { it.count() }
    
        return occurrences in sameLetterCounts
    }
    
    fun main() {
        val ids = File("input2.txt").readLines()
    
        val twoCounts = ids.filter { hasSameLettersCount(it, 2) }.count()
        val threeCounts = ids.filter { hasSameLettersCount(it, 3) }.count()
    
        println(twoCounts * threeCounts)
    }
    

    B:

    fun main() {
        val ids = File("input2.txt").readLines().toSet()
    
        for (idA in ids) {
            for (idB in ids) {
                val diff = getDiff(idA, idB)
                if (diff.length == idA.length - 1) {
                    println(diff)
                    return
                }
            }
        }
    }
    
    fun getDiff(first: String, second: String) = first.zip(second) { a, b ->
        if (a == b) a.toString() else ""
    }.joinToString("")