Giter Site home page Giter Site logo

advent2023's Introduction

Advent of Code 2023

This repository has some boilerplate, utils and setup for running Advent of Code easily.

It has built in support for Typescript, Ruby and Python.

Setup

Copy .env.example to .env, and set LANGUAGE to your desired value.

Log in on advent of code, and copy the session cookie to your the SESSION env var.

Now run nvm use and yarn install.

Running

To fetch inputs for a given day, run yarn setup [day], e.g. yarn setup 1. If run without a day, it'll fetch all days up to now.

To run your code, simply run yarn [your-language], e.g. yarn typescript. By default, yarn start runs yarn typescript - change this if you want.

This will run tests (if provided), execute your code, and send the solution. Solutoons will be deduped before sending.

Utils (typescript)

Typescript has some special utils in the utils/typescript folder. There are:

  • .last as an extension method on Array. Let's be honest, it should always have been there.
  • printGrid(grid: string[][]) to display a grid.
  • visualisePoints(points: Record<string, Point[]>): creates a visual grid with marks at the specified points.
    • For example: visualisePoints({a: [0, 0], b: [0, 1]}) prints ab
  • aStar is the A* algorithm

advent2023's People

Contributors

csaunders-ldt avatar desocrit avatar mrtom avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.