DEV Community

Colin Fay
Colin Fay

Posted on • Originally published at colinfay.me on

1

Advent of Code 2019-06 with R

Solving Advent of Code 2019-06 with R (and no JavaScript this time).

[Disclaimer] Obviously, this post contains a big spoiler about Advent of Code, as it gives solutions for solving day 6.

Instructions

Find the instructions at: https://adventofcode.com/2019/day/6

R solution

Part one

library(magrittr)
library(igraph)

## 
## Attaching package: 'igraph'

## The following objects are masked from 'package:stats':
## 
## decompose, spectrum

## The following object is masked from 'package:base':
## 
## union

ipt <- read.delim("input6.txt", header = FALSE, sep = ")", stringsAsFactor = FALSE)
grph <- ipt %>% 
  graph_from_data_frame() 

grph %>% 
  distance_table() %>% 
  extract2("res") %>% 
  sum()

## [1] 147807
Enter fullscreen mode Exit fullscreen mode

Part two

distances(
  grph, 
  v = V(grph)[["YOU"]], 
  to = V(grph)[["SAN"]]
) - 2

## SAN
## YOU 229
Enter fullscreen mode Exit fullscreen mode

JS solution

Nop, no JS solution today… I didn’t feel like reimplementing igraph in JavaScript, neither digging into the graph modules today ;)

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay