Compare commits

...

3 Commits

Author SHA1 Message Date
s00ner bebcf0f46f solved part 2 2021-11-10 15:20:31 -05:00
s00ner 536f505093 solved part 1 2021-11-10 14:01:05 -05:00
s00ner 7044bcdc23 added input 2021-11-10 14:00:55 -05:00
2 changed files with 290 additions and 0 deletions

250
day02/input Normal file
View File

@ -0,0 +1,250 @@
uqyoeiznvmzrstpkgnsacjxwld
uqloeizfvmbrstpkgndacjxwyd
dqgoeizfbmbrstpkgnhacjxwld
uqyjeizfvmbrstpygntacjxwld
uqyoeizfhmbrstppbnhacjxwld
uqyoeizfvmbrstpkschanjxwld
uqyoeizfvtbrstpkgnmazjxwld
uqyoeizfvmyrstpzgnhacjxsld
udtoeizfvmbrttpkgnhacjxwld
uqyneizfvmbratpognhacjxwld
uqyoeizfvmbrstpkunhaajxnld
uqyteizfvmbrstpkgnhzcnxwld
hqyteuzfvmbrstpkgnhacjxwld
uqyoeizyvmbrsdpkgnhacdxwld
uqyoeizfibbrsepkgnhacjxwld
uqxoeizfvmbrstpkgnhaxjjwld
iqaoeizfvmbrstpkrnhacjxwld
uqyoeizpvvbrstpkghhacjxwld
aqyoeizfvmbrstpbgnhfcjxwld
uqyonfzfvmbrstpkgnhacjgwld
uqyoeizovmhrstpkgnhacjxwvd
uqyoegzfvmbrstpkgnfacjxrld
uqyoeizfvmbrstpjgnwacjxwdd
uqyogiifumbrstpkgnhacjxwld
uqyorizfvmbrstpkgnhaezxwld
uqyoexdfvmbretpkgnhacjxwld
uqyoeizfvmbrstpkgwhlcjxzld
uqyoeibfvmbrstpggnhzcjxwld
udyoeizfvmbrstppwnhacjxwld
ufyoeizfvmhrstpkgnfacjxwld
aqyoeftfvmbrstpkgnhacjxwld
uhyoeivfvmbrstpkgnhadjxwld
uqyoeizfvmbrstpkgmhacjxhud
uqyfeizfvmbrstpkgnhkljxwld
uqyoeibfvmbrstpkgbhazjxwld
uqyceizfvnbrslpkgnhacjxwld
uqyoeizfvmirstpkonhacaxwld
fqyooizfvmbrstpkgnhacjxwlq
uqydeizfvmbgstpugnhacjxwld
uqyoiizfvmbrstpkgnhacjalld
uqyivizfvmbrstpkgnhocjxwld
uqyoeizfvmbrstpngnhjcjxwtd
uqyoeizfvmbrstpkynhrcexwld
ugmfeizfvmbrstpkgnhacjxwld
uqyoeizrvmbrstpkwnhycjxwld
uqyoeiyfvmbrstpkgnlacjxwwd
unyoeizfvmbrstrkgnhadjxwld
uqyoeizhvmbrstpkgnhacjawlz
uqyoeazfvmbrstpwgnhacjxwlp
uqyoeiznvmbastpkgnhaccxwld
kqyoeisfvmbrstikgnhacjxwld
uqyoeizfvlxrstpmgnhacjxwld
uqyoeiofvmbrstpkgniacjxwll
uqyoeizfvmbrswpegnhacixwld
uqyoeizfvmarstlkgnhanjxwld
uuyoeizfvmbrstykgnhacjxwbd
uqyoeizfvmbpstxkgnhacjxwlu
uqyoqizfvmbrsspkgnhacjpwld
uqyoeizfvmzrstnkgnhacjgwld
uqyoeizfvmbrstrcgnhacjxwud
uqyoeizfvmbrstpkgnuacxxwsd
cqyoeizfvmbrscpkgnhacjxwpd
sqyoeizfaobrstpkgnhacjxwld
uqyoeizfvmbrgtpkgnhacjxbwd
uqyoeibhvmbrstpkgnhagjxwld
uqyoeizfvcbrstpkgzhactxwld
uqkoeizfvmbrstijgnhacjxwld
uqroelzfvmbrstpkgmhacjxwld
uqyoeizfvmbrsfpcgnhkcjxwld
uqyoeizfumgrstpygnhacjxwld
uqyozibfvmbrstpkgnhacjwwld
uqyoeigfvmbrstpkgjharjxwld
uqpoeizfvmbrstpkgnhacjxrcd
uqyoeizfvmbrskokgnhqcjxwld
uqyoeikfvmbrstpkgehacjxwle
uqygeizfvhbrstpkgnqacjxwld
lqyoeizfvmbrsvpkgnhacjuwld
uqyjeizfvmbectpkgnhacjxwld
unyoeizfvmbrstpkgnhzckxwld
uqyoeizfvmbrstpkgmoacjxwlm
uqfoeizfvmbrutpkgnhacjrwld
uqyohizflnbrstpkgnhacjxwld
uquoeizfembrstpkgniacjxwld
uqyoeizfvmbrytpkgnhbcjkwld
pqyoeizfvsbwstpkgnhacjxwld
uqyoerzfvmbrstpkxntacjxwld
uqyoeizfvmbritpkgnhacjqhld
uqyoeisfvmbrstpkglhscjxwld
hqyoeizfvmwrstpwgnhacjxwld
uqyoeyzrvmbrstpkgnhacjxdld
pqyoeozfombrstpkgnhacjxwld
uwyosizfvmbrstpkgnhacjrwld
uqyoegzfvmbrstekbnhacjxwld
uqyoeinfvmirstpkgdhacjxwld
uqyoeizfvmbistpkgnobcjtwld
uqyoeikfvmbrsepkgnhycjxwld
qqyoeiafvmbrstpkgnhacjxold
uqbooizfvmbrstpkgnhacjxwdd
uquoeizfvmbrswpkgnhatjxwld
tqyoejzfvmbrstpkgnhacjxwlv
yqyoeizfvmbrsttkgnhakjxwld
usyoeizfvmbfstpkgnhkcjxwld
gqyocizfvmbrstpkgnhacjbwld
mqyoeizfvmbrstpkgnhacjzzld
uqyoeczfvmbrotpkgnhacjxwsd
jqyoeizfvmkrstpkgnhacaxwld
uqyoeirfvmblstpkgnhaijxwld
uqpoeirfvmbrstpkgbhacjxwld
uqyoiizcvmbrsipkgnhacjxwld
uqyoeizfvmbrstekgnhayjywld
uqyoeizpvmnrstpkgnhacjxwcd
eqyoaizfvmbrstpkgnhacjzwld
uqyubizfvmbrltpkgnhacjxwld
kqmoeizfvmbrstbkgnhacjxwld
uqyoeizfvmkrstpvgnhahjxwld
uqyoeizfrmbrsjpkgchacjxwld
uqyoeizfvmbrstfkgnhacbxwlx
uqyoeizfvmbrstpkbngayjxwld
uqyorizfvmbrstpkgghacjxwle
oqyoeizfvpkrstpkgnhacjxwld
uqyoexzfvmbrscpkgnhacjxwlq
uqkoyilfvmbrstpkgnhacjxwld
uqyotizfamnrstpkgnhacjxwld
uqnoeizfvmbrstpkgnhacdfwld
uqyoeizffmbrstqkgnhacuxwld
uqyoeizfvmbrzhpkgnhqcjxwld
uqyzeizfvmbrsnpkgnracjxwld
jhyoeizfvhbrstpkgnhacjxwld
uqyohizfvmbrstpkgnqhcjxwld
uqyleizfgmbrstlkgnhacjxwld
ucyoeizzvmbrstgkgnhacjxwld
uqyoeizqvmbrstbkgahacjxwld
uqyseizpvkbrstpkgnhacjxwld
uqyobizfvmirstpkgnhachxwld
uqyoiizfvmbrstpkgnhacwxzld
uqyoeizfvmbrstpkgnhafoxsld
pqyoeizfvmbrstpkgnhaijxwle
uqyoeizfvubrstpkgneacjxcld
uqyoeigfumbrstpknnhacjxwld
uqyoeiffvmbrstwkgnhacjxxld
uqooeizfvmbrstpkgnhacjxilv
uqyoeizfvmbrstpkgnhaljirld
uqyoeizfvmbistpkgnoacjtwld
uqyogizfvmlustpkgnhacjxwld
uqyoeizfvmufjtpkgnhacjxwld
uqyoeixfvmbrstpugwhacjxwld
uqyoeizfrzbrsjpkgnhacjxwld
uqyoeizfvmbbsqpkgzhacjxwld
uqyoeizovqfrstpkgnhacjxwld
uqyieizfvmbrsjpkgnhacjxwzd
uqdoeizfvmbrstnkgnqacjxwld
usyoohzfvmbrstpkgnhacjxwld
uqyoeicfvmbrstpkgnhacgxwtd
uqyoeizfvmbrstpkgkhbcjxold
fwyoeizfvmbrstpkgnhkcjxwld
oqyoeizfvmbrstpkenhacjjwld
uqyoeizfvmbrttpkgjhacjhwld
uqyoeituvmbrstpkgohacjxwld
uqyoeizfvekrslpkgnhacjxwld
upyoeizfvmbrstpkgnhjcjxwlb
uqyoeiwfvmbrstpkgshacjmwld
uqyceizfvmbrstpkgnpazjxwld
aqyoeizfvmbrstpkgntacjxwed
uqyosizfvmbrsapkgphacjxwld
uqyoeizfvmbysipkgnhacjxwls
uqyoeicfvmbgstpkgnhacjxwjd
uqyoxizfvmbrsggkgnhacjxwld
uqyoeizfvbbrhtplgnhacjxwld
usyoeizfvmbrstvkgnhacjxwlo
uqyleizfvmbrstpkgnhacjxwac
uqyoeisfvmbrstpfgnhacjxwdd
uqyoeizwvmbvstpkgnhacjxhld
uqyoeczfvmbrstpkgnhecjxwlv
uqyoeizfvmbrstpkgnhacjueid
uqyoeisfvmbrstpkgnhaxjxwzd
uqyoeizfvmbrstpkgnhicjmyld
ugygeizfvmbrmtpkgnhacjxwld
uoyoeiftvmbrstpkgnhacjxwld
uqyoeinfvmbrstpkenhacjxwbd
xqyoeiofvmbrstpkgnhacjxwlt
uqyoeizfvnbrsipkgnhfcjxwld
uqyteizfvmbrstpngmhacjxwld
uqyoeijfvmbrstpdgnhacjcwld
uqyoeizfjmbrstpkgntaclxwld
uqyaeizfvmbrstpkgnhajjxwkd
uqyoeizfvmbraqpkgnhacjxwlv
uqyocizfvmbrstpkqnhrcjxwld
uqyoqizfvmbrdtpkenhacjxwld
uqyoeicfvwbrstpkknhacjxwld
uqyoeizfvmbrstpktnhacjxxlz
uqyoeizfvmbhstpkgnhacjmwgd
uqyoeizfvmorskpkgnhncjxwld
nqyxeezfvmbrstpkgnhacjxwld
uqyoeitfvmbrstpksnhicjxwld
uqyoeizfmmwrstpkgnhacjxwud
uqyoeizfvmmrstpkgnhvcjxwlk
uqyoeizfvmbrstpkgihacjxblz
uqnoeizfvmwrstpkgnhaujxwld
uqyoeizfvlbrsrpkgnhacjxwpd
uqyoeizfvmbwstpkgnhvcjxwdd
uqyoeixfvlbrstpkgxhacjxwld
uqyoeizfvmbjstpmgnhacjxmld
uqyoeizyvhbrstpkgnhacjxwzd
uqyhepzfvmbrstpkghhacjxwld
uqyoetzfvmbrstpkghsacjxwld
uqyoeizfvmbrbnpkgnuacjxwld
uqyokizfvmbrstpkgnhacqiwld
uqyoeizfvmbrstpkgqhacagwld
uqyoeizfvnbvstckgnhacjxwld
uqyoeizfbmbhstpkjnhacjxwld
uqyoeixfvmbrstpkgnegcjxwld
uqyoeizfvmbrstpkshlacjxwld
uqyoeisfhmbrsnpkgnhacjxwld
uqyoekzfvmbrstpkgnhadjxsld
uqyoeizfzmyrstckgnhacjxwld
uqyoeizpvmbrztpkenhacjxwld
uqyopizffmbrstpkgnhacjxuld
uqyoeizfvzhrstpkgnhscjxwld
uqyoeizfvlbrstskvnhacjxwld
uqyohizfvmbrstekgnhacaxwld
uqlodizfvmbastpkgnhacjxwld
uqyoeizfvubrstpbgnhacjvwld
uqnoupzfvmbrstpkgnhacjxwld
tqzoeizfvmbrsdpkgnhacjxwld
pqyobizfvmbrstphgnhacjxwld
uqyweizfvkbrstpkguhacjxwld
uqyoexzfvmbrstzktnhacjxwld
cqyoeizfvmbrstpkgnhacvxfld
uqyoeiefvmbrytpmgnhacjxwld
uqyoeizfvmbhstpkgnhmcjpwld
uqyoeizfvnbrstpkgnhaczrwld
uqyoeibfvnbrstpkgnhacjxvld
uqyoeizfvebrsypygnhacjxwld
uqyoeikfnmbrstukgnhacjxwld
uqyoeizfvmbrsfpkgnhfcdxwld
uqyoeizfvmmrstpnbnhacjxwld
uqyoeizfvmbrztpegnhacjxwrd
pqyoeizfvmbrqtukgnhacjxwld
uqyoeizfvmbbstpkgahacjxpld
uqsoeizfvmbpstpkgnhatjxwld
uqyodizfvmbrsfpkgnhgcjxwld
uuyoeizfvmbnstpkgnhacjxbld
gqyoeizfvmbrstpkgnhacjqwcd
uqyoeizfvmyrotkkgnhacjxwld
uqyoeizfvmabstpkgnhacjawld
uqyoeizfvmbrstpkglhaszxwld
ukyoeizfvmbrstpkgnhacjxtfd
uqeoeizfvmbrstpkgnhtnjxwld
uqyouizfvmnrstpkgxhacjxwld
ugyoeizfvmbrsupygnhacjxwld

40
day02/solution.rb Normal file
View File

@ -0,0 +1,40 @@
#!/bin/env ruby
#part 1
ids = File.readlines('./input').map(&:strip)
checksum = {twos: 0, threes: 0}
chars = ids.map { |id| id.each_char.tally.delete_if { |char, count| count==1 }}
chars.each do |id|
checksum[:twos] += 1 if id.has_value?(2)
checksum[:threes] += 1 if id.has_value?(3)
end
puts checksum[:twos] * checksum[:threes]
#part 2
stop = false
count = 0
match = []
ids.each do |id|
ids.each do |id2|
next if id == id2
count = 0
id.each_char.with_index do |char, i|
count += 1 if char != id2[i]
break if count > 1
end
if count == 1
puts id2
match.push(id2)
break
end
end
if count ==1
puts id
match.push(id)
break
end
end
puts (match[0].chars & match[1].chars).join