Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e23d7d6

Browse files
committed
Day two done.
1 parent 4554bfa commit e23d7d6

File tree

2 files changed

+323
-0
lines changed

2 files changed

+323
-0
lines changed

‎2018/day02/input.txt‎

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
myhposlqgeauywfikztndcvrqr
2+
mbhposlxfeauywoikztndcvjqi
3+
mbhpoulxgeagywfikytndcvjqr
4+
jbhposlxgeauywdikztndcvjqk
5+
mbhpsslxueauywfikzfndcvjqr
6+
mbhposnxgeauzyfikztndcvjqr
7+
ibhposlxgetvywfikztndcvjqr
8+
mbcposlxgeauywfikztxdcvjqv
9+
mlhposltgeauywfikitndcvjqr
10+
mbhpostxgeauywfikztndjvjqy
11+
mboboslxglauywfikztndcvjqr
12+
mbhpoglxgeahywfikztndcvjqp
13+
mbhposlxgeapydpikztndcvjqr
14+
mbhposlxseauywfikztnncljqr
15+
mbhposlxgeauydfisztndcvjqj
16+
mbhposlxgeaugwwikzlndcvjqr
17+
mbhpoklxgeauywfikztndvvmqr
18+
mbhposlxgeauywfikdtndcmjqx
19+
mbhposlxaeauapfikztndcvjqr
20+
mbwposgxgeauymfikztndcvjqr
21+
mbhposlxgeauvwfirzcndcvjqr
22+
mbhpozlxgeaqywfykztndcvjqr
23+
mahqoslxgeauywfikzgndcvjqr
24+
mbhposlcgexbywfikztndcvjqr
25+
ykhposlxgeeuywfikztndcvjqr
26+
mbhgoswxgeauywfikztndhvjqr
27+
mbhposlxgeauywfikztnocmjqp
28+
mbvposfageauywfikztndcvjqr
29+
mbhpnslxgeauywfikztndgejqr
30+
mblposfxgeauypfikztndcvjqr
31+
mbhposlxyeauywfikzpndcvmqr
32+
ibhposlbgeauywfikotndcvjqr
33+
mbmposlxgeauywfiktwndcvjqr
34+
mbhposlxgeduywfikztndfvoqr
35+
mbhpoklxdeauywfikztndcvuqr
36+
mbhposlxgeauywfikltnlcvuqr
37+
mbhposlbgsauywfikztndsvjqr
38+
mbhposlxgeauywfirzfndcbjqr
39+
mphposlxgeauywfikztndcvjgg
40+
mohposlcgeauywfikzsndcvjqr
41+
mbhpovlxgeauyqfikotndcvjqr
42+
qbhpgslxgeauywqikztndcvjqr
43+
mbhposlxweauywfikztndtvjqm
44+
pbhposlxgeauywfikztnncvjqm
45+
mbbposlxpeauuwfikztndcvjqr
46+
mbhposlxgmauyrfikztndcvjir
47+
pbhposlqgefuywfikztndcvjqr
48+
mbhkoslxgeauywfikztndciwqr
49+
mbtpoflxgeauywfikztndrvjqr
50+
mbhcoslxveguywfikztndcvjqr
51+
mbhpovlxgeauywfhkdtndcvjqr
52+
mbhposlxgeauywftrztndcujqr
53+
mbhposlxgeaoywfdkzpndcvjqr
54+
mbnposlxgeyuywfikztldcvjqr
55+
mbaposlxweauywfikftndcvjqr
56+
mbhposljgeauywfikztcdcvvqr
57+
nbhpkslxgeauywfikzwndcvjqr
58+
mbhtoslxgeauywfikzkndcvjdr
59+
mbhposxxgeaxywfikztndsvjqr
60+
mbdpoflxgeauywfisztndcvjqr
61+
mbhposvxgeauywfikztnscvnqr
62+
mbcposlxghauywfikztndcgjqr
63+
mbhpovlxgeauywpckztndcvjqr
64+
mbhpfslxgeauywbikntndcvjqr
65+
mbhpowyxgeauywfikztndcvjcr
66+
mbhposlxoeatywfikztndcvoqr
67+
mchpfslxgeauywfikztidcvjqr
68+
mbhposvxgearywfikztndcvjcr
69+
mbhposlxgeauywfpcztnduvjqr
70+
mbhposlxgmauyyfiqztndcvjqr
71+
mbhposlxteauuwfikwtndcvjqr
72+
mbhpotlspeauywfikztndcvjqr
73+
mbhpoelxgeauywfikztndckjkr
74+
mbhpnslxgeauywfikztndcvkqs
75+
mbhpksfxgwauywfikztndcvjqr
76+
mxhwoglxgeauywfdkztndcvjqr
77+
mbhphsbjgeauywfikztndcvjqr
78+
mbhposlxgeauwifixztndcvjqr
79+
mbhposqxguauywfikztndcwjqr
80+
mbhposlngeauywfikztedcvjor
81+
nbhposlxgeauywiikztndcyjqr
82+
mbhposlxgeauawfykztndcvbqr
83+
mbhplslxgeauywcikztndcvjrr
84+
fshposlxgeagywfikztndcvjqr
85+
mbhposlxgeauymcikztndcxjqr
86+
mbhponlxgeauyloikztndcvjqr
87+
mbhposrxzeanywfikztndcvjqr
88+
mbhtoslxgeajyifikztndcvjqr
89+
mbhposixkeauywfikhtndcvjqr
90+
mahhoslxgeaufwfikztndcvjqr
91+
mbhpdslxteauywfikzvndcvjqr
92+
mfhposlxgeauywfiqttndcvjqr
93+
mbhplslxheauywfikztnscvjqr
94+
mbhpoylxgeauywbizztndcvjqr
95+
mbhposlhgeawywfjkztndcvjqr
96+
mbhkoslxgkauywfilztndcvjqr
97+
mbhposnxgeauywfikztkdcvlqr
98+
mvhpxslxgevuywfikztndcvjqr
99+
mbhpohlxgeauyrficztndcvjqr
100+
mbhsosuxgewuywfikztndcvjqr
101+
mbhpoxlxgeauywuikztnhcvjqr
102+
mbhposlxqeauyqfikztndcvrqr
103+
mbhpchlxgeauywfikztnhcvjqr
104+
mbhposlxgeauywoikztndcfqqr
105+
pbhposlxgeagmwfikztndcvjqr
106+
mxhwoglxgeauywfikztndcvjqr
107+
mbhpospxgaauywfikstndcvjqr
108+
mbhwoxlxgeauywfgkztndcvjqr
109+
mbhposlxgeauywfikvtndhvsqr
110+
mbbposlxgesuywfikztnicvjqr
111+
mhhjoslxgeauywfikztndccjqr
112+
mbhkoslxgeagywffkztndcvjqr
113+
mbhposlxgesqywfukztndcvjqr
114+
mbdposlxgeauywfilztndcvjqp
115+
mbhposlxgeakqwfikztedcvjqr
116+
mbhposuxgeayywficztndcvjqr
117+
mbhposlxgeauywfxkztndcloqr
118+
mchposlxgeauywoiiztndcvjqr
119+
tbhporlxgeauywfikztndcvyqr
120+
mbhposlxoevuywfikzindcvjqr
121+
qbhposlxfevuywfikztndcvjqr
122+
mbhposlxfeauvwfikztndcvgqr
123+
mbjposlxgsauywfikztnwcvjqr
124+
vbhposlxgeauvwfikztndcvjqk
125+
pbhposlxguauyrfikztndcvjqr
126+
mbhposlcgeauywfiketndcviqr
127+
mbsposlxgvauywfikztndcviqr
128+
mbhposlxgeauynfxkztndcvjbr
129+
mbhposlxtentywfikztndcvjqr
130+
mbhposlxgeavywfikztndhvjnr
131+
mbhpsvlxgeauywfikztndcvzqr
132+
mzhpotlxgeauywfiyztndcvjqr
133+
mbhposkqgeauywfiwztndcvjqr
134+
mbhposlxoeakywfikztndcvjqt
135+
mbhposlxghauywfikbdndcvjqr
136+
mbhpossxgeauywfikqxndcvjqr
137+
mbhposlxgearywhikztydcvjqr
138+
mbhposlxgeaiywfikztndfvjur
139+
mbhpxslxgoazywfikztndcvjqr
140+
mbhposlxneauywfibqtndcvjqr
141+
mnheoslxteauywfikztndcvjqr
142+
mbhposlxgeauywfmkztrdcvuqr
143+
mbhzowlxgeauywfizztndcvjqr
144+
mbhloslxgeauyofikztnucvjqr
145+
mbhposlxneagywfbkztndcvjqr
146+
mbhposongeauywfikztnzcvjqr
147+
mwyposlxgeauywfikztnqcvjqr
148+
mbhpnqaxgeauywfikztndcvjqr
149+
mboposlxzeauywfioztndcvjqr
150+
mbhposledeauywfikztndqvjqr
151+
mphpaslxgeauywfbkztndcvjqr
152+
mbhposrxgeauywlikbtndcvjqr
153+
ybhnoslxgeauywfihztndcvjqr
154+
mbhposlxgeauywfikntxccvjqr
155+
mbhposlxgeauqwfikutndcfjqr
156+
mbhposlxglabywfikztidcvjqr
157+
mbhpollxgeauywfikxtnscvjqr
158+
mboposlggeaufwfikztndcvjqr
159+
mbhposlxgeauywpikedndcvjqr
160+
mbhpoklxgeauywpikztndcvjlr
161+
mbhposhxgeauywfifztndcvpqr
162+
mbhposlxgwagywfikztndcvjwr
163+
mbhpokldgeauywfikztngcvjqr
164+
nbhposlxgeauywfiketndcvjxr
165+
mbhhoslxgexuywfikrtndcvjqr
166+
mbhposlxgefujwfikztkdcvjqr
167+
mbhposlxggagywfikztndchjqr
168+
mbhposlxgeauyvfilztnicvjqr
169+
mbhposlkgeauywfikzxndcvoqr
170+
mbhposlxgeauvqfikztndcvuqr
171+
zbhposlxgfauylfikztndcvjqr
172+
mbhyoshxgeauywfikztndcvjqa
173+
sbhposlxgeauyxfikztndavjqr
174+
mlhposlxgeauywfikzmndcqjqr
175+
mbhpaslxgekuywfikztnncvjqr
176+
ibhhoslxteauywfikztndcvjqr
177+
mbhposlxgeauyodibztndcvjqr
178+
mbhposlxgkaoywfikztndcvpqr
179+
mbhonslxgearywfikztndcvjqr
180+
mbdpoolxgealywfikztndcvjqr
181+
mbepfslxgvauywfikztndcvjqr
182+
mbhposlygeauywfikztfdcvaqr
183+
mthpoalxgeauywnikztndcvjqr
184+
mbhpesbogeauywfikztndcvjqr
185+
mbhposlxgjauywfikztnmcvjqj
186+
mbhnoslxgeauydfikgtndcvjqr
187+
mbhpxslxgeauywfikztndcvjcx
188+
muhposlxgwauywfipztndcvjqr
189+
mbhpcslxgeauywfiqztndcvjbr
190+
mbhpomlxgeauywfioftndcvjqr
191+
mbhposlfgepuywfikzmndcvjqr
192+
mbhsosliteauywfikztndcvjqr
193+
mbwposlxgeauywfikztnycveqr
194+
mbhpfslxgeauywfqkztndcvjhr
195+
mxhbvslxgeauywfikztndcvjqr
196+
fbhposlxgeauywfikzcnmcvjqr
197+
mbhfosfxgeauywfikztnduvjqr
198+
tbhporlxgeauywfikztndcvjqm
199+
mhhposlxgeauywfikctnecvjqr
200+
mbhposlxgeqtywfikztnmcvjqr
201+
qbhpjslxgeauywfikztndevjqr
202+
tbhpxslxgeaunwfikztndcvjqr
203+
wbhposlxgeadywfikztndcujqr
204+
mbhposlvgeauywfpkotndcvjqr
205+
mbhposlxgeagywfingtndcvjqr
206+
mbnposlxgeauywfikztnvcjjqr
207+
mohpoilxgeadywfikztndcvjqr
208+
mbhposlsgeauywfikztnxcvgqr
209+
mbhposlogeauywfikqtndcvjor
210+
mbhroslxgeauypfikztndcvjqg
211+
mblposuxgetuywfikztndcvjqr
212+
mbhposlogeiuywfikztodcvjqr
213+
mbhposlxgeauylfikztedcvrqr
214+
mbhfoslxgeautwxikztndcvjqr
215+
mbhouslxgeauywfikztnycvjqr
216+
mbhposlxgeauywfvkqtndlvjqr
217+
mbfposltgeauytfikztndcvjqr
218+
mbhposlxgcapywfikztnddvjqr
219+
hbhposlxgeasywfikztnxcvjqr
220+
mbhposntgeauywfikztcdcvjqr
221+
mbhponlxgfauywfirztndcvjqr
222+
mbhposlxgeatywlikztndcvrqr
223+
mohroslzgeauywfikztndcvjqr
224+
mbhpojaxgeauywfifztndcvjqr
225+
rbhposlxgwauywfikztndovjqr
226+
mbhpoclxgeaeywfikztndcvjqo
227+
mbhposllgeauywfikzondcvmqr
228+
mbhpxslxgeauywfikzymdcvjqr
229+
mbhposlxgeasywxikztndkvjqr
230+
mbhposlxgeauywfivztndcmjqx
231+
qbhposlxgpauywfikgtndcvjqr
232+
mbhposlxgeauyqdikztqdcvjqr
233+
cbhposlxgeauywfikttjdcvjqr
234+
mbhgoslxgeanywfihztndcvjqr
235+
mbhposlxgeajywfhkztndcvjvr
236+
mbhpozlxgeauewfmkztndcvjqr
237+
mbhposlxgeagywfbiztndcvjqr
238+
mbhmoslxgeauywfikztndrnjqr
239+
ybhposmxgeauywfikztndcviqr
240+
mrwposlxgeauywfikztndpvjqr
241+
mbhposlxneauywfikztndcbjqh
242+
mbhpowlxheauywfikztndcojqr
243+
mbeposlxgeauywfiwztnycvjqr
244+
mbhposixgeapywfikztndcvvqr
245+
mbhposlxgeauywfikztnbcvjap
246+
mzhposixgenuywfikztndcvjqr
247+
mbhposgxgeauywyikztndvvjqr
248+
mbhposajgeauywfikztzdcvjqr
249+
mbhyoslxgeauywfikzsndcvxqr
250+
mbhposlxgdauywfikmtndcljqr

‎2018/day02/two.go‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"strings"
7+
)
8+
9+
func main() {
10+
f, _ := os.ReadFile("input.txt")
11+
lines := strings.Split(strings.TrimSpace(string(f)), "\n")
12+
two, three := countOccurrences(lines)
13+
fmt.Printf("Part 1 | Checksum: %d\n", two*three)
14+
fmt.Printf("Part 2 | Matching strings: %s\n", findOneCharDiff(lines))
15+
}
16+
17+
func countOccurrences(ids []string) (int, int) {
18+
two := 0
19+
three := 0
20+
for _, id := range ids {
21+
seen := map[rune]bool{}
22+
countedTwo := false // If 2 or more letters appear twice, it still will only count as 1.
23+
countedThree := false
24+
for _, letter := range id {
25+
// If we haven't counted this letter
26+
if _, ok := seen[letter]; !ok {
27+
seen[letter] = true
28+
occurrences := strings.Count(id, string(letter))
29+
if occurrences == 2 {
30+
if !countedTwo {
31+
two++
32+
countedTwo = true
33+
}
34+
}
35+
if occurrences == 3 {
36+
if !countedThree {
37+
countedThree = true
38+
three++
39+
}
40+
}
41+
}
42+
}
43+
}
44+
return two, three
45+
}
46+
47+
func findOneCharDiff(ids []string) string {
48+
for _, id := range ids {
49+
for _, second := range ids {
50+
// Don't compare equal strings.
51+
diff := 0
52+
diffChar := ' '
53+
for i, char := range id {
54+
// Check if the character in string 1 is present in string 2
55+
// If it isnt, it is different
56+
if char != rune(second[i]) {
57+
diffChar = char
58+
diff++
59+
}
60+
// IF there is more than two characters different. This is not a match. Escape early.
61+
if diff > 2 {
62+
break
63+
}
64+
}
65+
// If the difference was only one character, we found it. Escape early.
66+
if diff == 1 {
67+
before, after, _ := strings.Cut(id, string(diffChar))
68+
return before + after
69+
}
70+
}
71+
}
72+
return ""
73+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /