소스 검색

Solved part1

Piotr Czajkowski 2 년 전
부모
커밋
31684eb1d3
2개의 변경된 파일26개의 추가작업 그리고 1개의 파일을 삭제
  1. 26 1
      07/code.go
  2. 0 0
      07/input

+ 26 - 1
07/code.go

@@ -38,11 +38,36 @@ func readInput(file string) (map[int]int, []int) {
 	return crabs, orderedCrabs
 }
 
+func part1(crabs map[int]int, orderedCrabs []int) int {
+	shortest := 10000000
+
+	for _, crab := range orderedCrabs {
+		route := 0
+		for key, value := range crabs {
+			if key == crab {
+				continue
+			}
+
+			if key < crab {
+				route += (crab - key) * value
+			} else {
+				route += (key - crab) * value
+			}
+		}
+
+		if route < shortest {
+			shortest = route
+		}
+	}
+
+	return shortest
+}
+
 func main() {
 	if len(os.Args) < 2 {
 		log.Fatal("Please provide a file name as argument")
 	}
 
 	crabs, orderedCrabs := readInput(os.Args[1])
-	fmt.Println(crabs, orderedCrabs)
+	fmt.Println("Part1: ", part1(crabs, orderedCrabs))
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
07/input


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.