Bladeren bron

Part2 solved for example, but not for input

Piotr Czajkowski 1 week geleden
bovenliggende
commit
769613beb3
1 gewijzigde bestanden met toevoegingen van 19 en 0 verwijderingen
  1. 19 0
      05/code.go

+ 19 - 0
05/code.go

@@ -61,6 +61,24 @@ func part1(ranges [][]int, ingredients []int) int {
 	return count
 }
 
+func part2(ranges [][]int) int {
+	count := ranges[0][1] - ranges[0][0] + 1
+
+	for i := 1; i < len(ranges); i++ {
+		if ranges[i][1] <= ranges[i-1][1] {
+			continue
+		}
+
+		if ranges[i][0] <= ranges[i-1][1] {
+			count += ranges[i][1] - ranges[i-1][1]
+		} else {
+			count += ranges[i][1] - ranges[i][0] + 1
+		}
+	}
+
+	return count
+}
+
 func main() {
 	if len(os.Args) < 2 {
 		log.Fatal("You need to specify a file!")
@@ -86,4 +104,5 @@ func main() {
 	})
 
 	fmt.Println("Part1:", part1(ranges, ingredients))
+	fmt.Println("Part2:", part2(ranges))
 }