ソースを参照

Solved part2 for example, but not for input

Piotr Czajkowski 2 週間 前
コミット
21c7691111
1 ファイル変更8 行追加4 行削除
  1. 8 4
      01/code.go

+ 8 - 4
01/code.go

@@ -49,7 +49,6 @@ func parts(rotations []Rotation) (int, int) {
 	dial := 50
 
 	for _, rotation := range rotations {
-		was := dial
 		if rotation.Direction == 'L' {
 			dial -= rotation.Clicks
 		} else {
@@ -58,9 +57,14 @@ func parts(rotations []Rotation) (int, int) {
 
 		if dial > 100 {
 			passedZeros += dial / 100
-		} else if dial < 0 {
-			passedZeros += abs(dial) / 100
-			if was != 0 {
+		}
+
+		if dial < 0 {
+			if abs(dial) > 100 {
+				passedZeros += abs(dial) / 100
+			}
+
+			if rotation.Clicks != abs(dial%100) {
 				passedZeros++
 			}
 		}