Skip to content

Instantly share code, notes, and snippets.

@cjavdev
Created December 4, 2022 16:39
Show Gist options
  • Save cjavdev/acd047fe1c04104665a8e3225998b2a3 to your computer and use it in GitHub Desktop.
Save cjavdev/acd047fe1c04104665a8e3225998b2a3 to your computer and use it in GitHub Desktop.
# data = DATA.readlines
data = File.readlines(ARGV.first)
p data
.map(&:chomp)
.chunk_while { _2 != "" }
.map { _1.map(&:to_i) }
.map(&:sum)
.sort[-3..]
.sum
__END__
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
@cjavdev
Copy link
Author

cjavdev commented Dec 4, 2022

@RomanTurner
Copy link

memo = {}
deer = 1
File.readlines('day-1-data.txt').each do |line|
    line.strip!
    if line.empty?
        deer += 1
        next
    end
    memo[deer].nil? ? memo[deer] = Integer(line) : memo[deer] += Integer(line)
end

memo.max_by{|k,v| v}

memo.sort_by(&:last).last(3).map{|k, v| v}.sum

I like yours a lot more 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment