Piotr Czajkowski před 1 týdnem
rodič
revize
8b5a5da9ca
2 změnil soubory, kde provedl 15 přidání a 4 odebrání
  1. 15 4
      09/code.go
  2. 0 0
      09/input

+ 15 - 4
09/code.go

@@ -56,12 +56,23 @@ func compact(disk []int, free int) []int {
 	return disk
 }
 
-func part1(diskMap []byte) int {
+func calculateChecksum(disk []int) int64 {
+	var checksum int64
+
+	for i := range disk {
+		if disk[i] != -1 {
+			checksum += int64(disk[i] * i)
+		}
+	}
+
+	return checksum
+}
+
+func part1(diskMap []byte) int64 {
 	free, disk := getDisk(diskMap)
 	compacted := compact(disk, free)
-	fmt.Println(compacted)
 
-	return 0
+	return calculateChecksum(compacted)
 }
 
 func main() {
@@ -74,5 +85,5 @@ func main() {
 		log.Fatal(err)
 	}
 
-	fmt.Println(part1(diskMap))
+	fmt.Println("Part1:", part1(diskMap))
 }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
09/input


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů