Day 1: Simplify Rust and Go solutions
This commit is contained in:
parent
2f3e4c6576
commit
e096d69ea7
|
@ -11,26 +11,20 @@ func main() {
|
||||||
inFile, _ := ioutil.ReadFile("input")
|
inFile, _ := ioutil.ReadFile("input")
|
||||||
lines := strings.Split(string(inFile), "\n")
|
lines := strings.Split(string(inFile), "\n")
|
||||||
|
|
||||||
fmt.Printf("Part 1: %d\n", part1(lines))
|
part1, part2 := solve(lines)
|
||||||
fmt.Printf("Part 2: %d\n", part2(lines))
|
fmt.Printf("Part 1: %d\n", part1)
|
||||||
|
fmt.Printf("Part 2: %d\n", part2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func part1(lines []string) int {
|
func solve(lines []string) (int, int) {
|
||||||
fuel := 0
|
fuel := 0
|
||||||
|
fuelRec := 0
|
||||||
for _, line := range lines {
|
for _, line := range lines {
|
||||||
mass, _ := strconv.Atoi(line)
|
mass, _ := strconv.Atoi(line)
|
||||||
fuel += cost(mass)
|
fuel += cost(mass)
|
||||||
|
fuelRec += costRec(mass, 0)
|
||||||
}
|
}
|
||||||
return fuel
|
return fuel, fuelRec
|
||||||
}
|
|
||||||
|
|
||||||
func part2(lines []string) int {
|
|
||||||
fuel := 0
|
|
||||||
for _, line := range lines {
|
|
||||||
mass, _ := strconv.Atoi(line)
|
|
||||||
fuel += costRec(mass, 0)
|
|
||||||
}
|
|
||||||
return fuel
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func cost(mass int) int {
|
func cost(mass int) int {
|
||||||
|
|
|
@ -24,9 +24,8 @@ fn cost(mass: u32) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn cost_rec(mass: u32, acc: u32) -> u32 {
|
fn cost_rec(mass: u32, acc: u32) -> u32 {
|
||||||
let c = cost(mass);
|
match cost(mass) {
|
||||||
match c {
|
|
||||||
0 => acc,
|
0 => acc,
|
||||||
_ => cost_rec(c, acc + c)
|
c => cost_rec(c, acc + c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user