Piotr Czajkowski hai 2 semanas
pai
achega
a57286ea92
Modificáronse 1 ficheiros con 8 adicións e 8 borrados
  1. 8 8
      02/code.go

+ 8 - 8
02/code.go

@@ -36,35 +36,35 @@ func readInput(file *os.File) [][]int {
 	return reports
 }
 
-func safe(report []int) (bool, int) {
+func safe(report []int) int {
 	var direction int
 	edge := len(report)
 
 	for i := 1; i < edge; i++ {
 		delta := report[i] - report[i-1]
 		if delta == 0 || delta < -3 || delta > 3 {
-			return false, i
+			return i
 		}
 
 		if direction == 0 {
 			direction = delta
 		} else if direction < 0 && delta > 0 || direction > 0 && delta < 0 {
-			return false, i
+			return i
 		}
 	}
 
-	return true, 0
+	return 0
 }
 
 func checkReports(reports [][]int) (int, int) {
 	var part1, part2 int
 	for _, report := range reports {
-		status, failed := safe(report)
-		if status {
+		bad := safe(report)
+		if bad == 0 {
 			part1++
 		} else {
-			status, failed = safe(append(report[:failed], report[failed+1:]...))
-			if status {
+			bad = safe(append(report[:bad], report[bad+1:]...))
+			if bad == 0 {
 				part2++
 			}
 		}