Compare commits
2 Commits
45c04431cc
...
314da54495
| Author | SHA1 | Date | |
|---|---|---|---|
| 314da54495 | |||
| 3ab410ea06 |
@@ -39,7 +39,37 @@ func PartOne(input []string) int {
|
|||||||
return total
|
return total
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func PartTwo(input []string) int {
|
||||||
|
total := 0
|
||||||
|
groupAnswers := make(map[rune]int)
|
||||||
|
groupSize := 0
|
||||||
|
|
||||||
|
for idx, line := range input {
|
||||||
|
if line != "" {
|
||||||
|
groupSize++
|
||||||
|
for _, char := range line {
|
||||||
|
if char >= 'a' && char <= 'z' {
|
||||||
|
groupAnswers[char]++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if line == "" || idx == len(input)-1 {
|
||||||
|
for _, count := range groupAnswers {
|
||||||
|
if count == groupSize {
|
||||||
|
total++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
groupAnswers = make(map[rune]int)
|
||||||
|
groupSize = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return total
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
input := parseInput("input.txt")
|
input := parseInput("input.txt")
|
||||||
fmt.Println("Part 1:", PartOne(input))
|
fmt.Println("Part 1:", PartOne(input))
|
||||||
|
fmt.Println("Part 2:", PartTwo(input))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,3 +27,11 @@ func TestPartOne(t *testing.T) {
|
|||||||
t.Errorf("PartOne() = %d, want %d", got, expected)
|
t.Errorf("PartOne() = %d, want %d", got, expected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPartTwo(t *testing.T) {
|
||||||
|
expected := 6
|
||||||
|
got := PartTwo(input)
|
||||||
|
if got != expected {
|
||||||
|
t.Errorf("PartTwo() = %d, want %d", got, expected)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user