AdventOfCode 2021 solutions from the Devcord server

Overview

adventofcode-21

Ein Sammel-Repository für Advent of Code 2021-Lösungen der deutschen DevCord-Community.

A repository collecting Advent of Code 2021 solutions made by the German DevCord community.

Überblick/Overview

Hier ist ein Überblick über die Vollständigkeit sowie die existierenden Lösungen und verwendeten Sprachen in diesem Repository:

Here's an overview of the completeness as well as the existing solutions and languages used in this repository:

Day/Lang Java Python Scala Kotlin Ruby Clojure Go Rust C++ BQN SQL
01 - Sonar Sweep
02 - Dive! ()
03 - Binary Diagnostic ()

= Keine Lösung/No solution, = Voll gelöst/Fully solved, () = Erster Teil gelöst/First part solved

Ordnerstruktur/Directory Structure

Die Struktur dieses Repositorys ist wie folgt:

The structure of this repository is as follows:

  • shared (1)
    • user
      • *
  • Day-XX (2)
    • lang (3)
      • user (4)

(1) Der shared-Order ist für zusätzliche Dateien, die neben der Lösungsdatei benötigt werden, etwa Hilfscode oder Bibliotheken. Jede*r Beitragende darf dort einen eigenen, entsprechend benannten Ordner erstellen, über den frei verfügt werden darf.

(2) Jeder neue Tag bekommt einen eigenen Ordner, der nach dem Schema Day-XX benannt ist, wobei XX die zwei Ziffern des Tages darstellen. Also z.B. steht Day-01 für Tag 1 und Day-15 für Tag 15.

(3) Jeder Tag hat je einen Unterordner für die Programmiersprachen, in denen er gelöst wurde. Dabei ist für den Namen des Ordners der kleingeschriebene Name der Sprache zu verwenden, also z.B. java, go oder javascript.

(4) Es können mehrere Lösungen von unterschiedlichen Beitragenden in der gleichen Programmiersprache abgegeben werden. Deshalb sollte sich pro Lösung ein Ordner in dem entsprechenden Sprachen-Ordner befinden, der den Namen des*der Beitragenden trägt und den Quellcode der Lösung (für beide Teilaufgaben, falls vorhanden) enthält. Der Name dieses Ordners sollte identisch mit dem Namen des dazu passenden Ordner in shared sein, falls einer existiert.


(1) The shared directory can be used for additional files and resources contributors might need besides their solution file, such as helper code or libraries. Every contributor may create an own directory in shared that corresponds to their name.

(2) Every day of the challenge gets an own directory named with the scheme of Day-XX, where XX stands for the two digits of the day. E.g. Day-01 is for day 1 and Day-15 is for day 15.

(3) Every day gets one sub directory for each language it has been solved in. The name of those directories must be the name of the programming language in lower case, e.g. java, go or javascript.

(4) There can be more than one solution in each language for each day by different contributors. For this reason, for each solution, there should be one directory in the corresponding language directory for the day named after the contributor who created it containing the source code of that solution. This should be the same name that is also used for the personal directory in shared, should one exist.

Lösungen ausführen/Run the solutions

TODO

Anleitung zum Beitragen (only for DevCord members)

Wenn du zu den Lösungen beitragen möchtest, hast du zwei Optionen: Selbst mit git arbeiten und Pull Requests erstellen oder deine Lösungen der Verwaltung dieses Repositories auf Discord schicken. Wir empfehlen ersteres, wenn du schon mal git benutzt hast und zweiteres, wenn du von diesem System nur Bahnhof verstehst.

Pull Requests erstellen

  1. Forke dieses Repository in deinen GitHub-Account (oben rechts auf "Fork" klicken)
  2. Klone das Repository bei dir lokal
  3. Füge deine Lösungen hinzu und bearbeite sie - beachte dabei die Ordnerstruktur
  4. Bearbeite nicht die README! Die Tabelle wird von uns ergänzt.
  5. Mache eine Pull Request wann immer du
    • neue funktionierende Lösung(en) hast
    • Lust drauf hast (du musst nicht jeden Tag eine Pull Request machen, kannst dir auch Zeit damit lassen)

Bitte achte darauf, dass die Lösungen nicht deine kompletten IDE-Dateien enthalten, sondern ausschließlich den relevanten Quellcode zur Lösung des Problems!

Lösungen an die Verwaltung geben

  1. Löse die Aufgabe(n)
  2. Schicke sie an einen der folgenden DevCord-User mit Informationen zu Sprache, Tag, evtl. benötigten zusätzlichen Dateien und Namen:
    • das_#9677
    • Johnny#3826
Owner
Devcord
German developer discord
Devcord
Python communism - A module for initiating the communist revolution in each of our python modules

Python communist revolution A man once said to abolish the classes or something

758 Jan 03, 2023
March-madness - March Madness results 1985-2021

march-madness Results for all 2,268 NCAA Division I Men's Basketball Tournament games since the modern format was introduced in 1985. Includes years,

Darik Harter 2 Feb 26, 2022
NeoInterface - Neo4j made easy for Python programmers!

Neointerface - Neo4j made easy for Python programmers! A Python interface to use the Neo4j graph database, and simplify its use. class NeoInterface: C

15 Dec 15, 2022
PyDy, short for Python Dynamics, is a tool kit written in the Python

PyDy, short for Python Dynamics, is a tool kit written in the Python programming language that utilizes an array of scientific programs to enable the study of multibody dynamics. The goal is to have

PyDy 307 Jan 01, 2023
A simple python project which control paint brush in microsoft paint app

Paint Buddy In Python A simple python project which control paint brush in micro

Ordinary Pythoneer 1 Dec 27, 2021
Hydralit package is a wrapping and template project to combine multiple independant Streamlit applications into a multi-page application.

Hydralit The Hydralit package is a wrapping and template project to combine multiple independant (or somewhat dependant) Streamlit applications into a

Jackson Storm 108 Jan 08, 2023
A Python Perforce package that doesn't bring in any other packages to work.

P4CMD 🌴 A Python Perforce package that doesn't bring in any other packages to work. Relies on p4cli installed on the system. p4cmd The p4cmd module h

Niels Vaes 13 Dec 19, 2022
A supercharged version of paperless: scan, index and archive all your physical documents

Paperless-ng Paperless (click me) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily sear

Jonas Winkler 5.3k Jan 09, 2023
A hackers attempt at an MVP anki plugin

my anki plugin if you have found this by accident, you should probably run away this is nothing more than a hackers attempt at an MVP anki plugin I re

Chris Hall 1 Nov 02, 2021
Programming labs for 6.S060 (Foundations of Computer Security).

6.S060 Labs This git repository contains the code for the labs in 6.S060. In these labs, you will add a series of security features to a photo-sharing

MIT PDOS 10 Nov 02, 2022
Some basic sorting algos

Sorting-Algos Some basic sorting algos HacktoberFest 2021 This repository consists of mezzo-level projects that undertake a simple task and perform it

Manthan Ghasadiya 7 Dec 13, 2022
A Unified Framework for Hydrology

Unified Framework for Hydrology The Python package unifhy (Unified Framework for Hydrology) is a hydrological modelling framework which combines inter

Unified Framefork for Hydrology - Community Organisation 6 Jan 01, 2023
Sudoku solver using backtracking

Sudoku solver Sudoku solver using backtracking Basically in sudoku, we want to be able to solve a sudoku puzzle given an input like this, which repres

Kylie 99 Jan 07, 2023
8 Nov 04, 2022
management tool for systemd-nspawn containers

nspctl nspctl, management tool for systemd-nspawn containers. Why nspctl? There are different tools for systemd-nspawn containers. You can use native

Emre Eryilmaz 5 Nov 27, 2022
Python wrapper to different clients to determine how a particular term is used.

Python wrapper to different clients to determine how a particular term is used.

Chris Mungall 3 Oct 24, 2022
Artificial intelligence based on 5-dimensional quantum selection

Deep Thought An artificial intelligence based on 5-dimensional quantum selection. Algorithm The payload Make an random bit array (e.g. 1101...) Conver

Larry Holst 3 Dec 14, 2022
Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

1 Jun 15, 2022
Tool to generate wrappers for Linux libraries allowing for dlopen()ing them without writing any boilerplate

Dynload wrapper This program will generate a wrapper to make it easy to dlopen() shared objects on Linux without writing a ton of boilerplate code. Th

Hein-Pieter van Braam 25 Oct 24, 2022
Groupe du projet Python en 2TL2-4

Présentation Projet EpheCom Ce logiciel a été développé dans le cadre scolaire. EpheCom est un logiciel de communications - vocale et écrite - en temp

1 Dec 26, 2021