replace array with an actual struct now that we have them
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
func check[report: array] : bool
|
||||
func check[report: Array] : bool
|
||||
let increasing: bool = array.nth(report, 0) < array.nth(report, 1)
|
||||
|
||||
for i in 0..array.size(report)-1
|
||||
for i in 0..report->size-1
|
||||
if array.nth(report, i) > array.nth(report, i + 1) && increasing
|
||||
return false
|
||||
if array.nth(report, i) < array.nth(report, i + 1) && !increasing
|
||||
@@ -13,24 +13,25 @@ func check[report: array] : bool
|
||||
|
||||
return true
|
||||
|
||||
func part1[data: array] : void
|
||||
func part1[data: Array] : void
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(data)
|
||||
for i in 0..data->size
|
||||
if check(array.nth(data, i))
|
||||
out = out + 1
|
||||
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[data: array] : void
|
||||
func part2[data: Array] : void
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(data)
|
||||
for i in 0..data->size
|
||||
if check(array.nth(data, i))
|
||||
out = out + 1
|
||||
else
|
||||
for j in 0..array.size(array.nth(data, i))
|
||||
let sliced: array = array.concat(array.slice(array.nth(data, i), 0, j), array.slice(array.nth(data, i), j + 1, array.size(array.nth(data, i)) - (j + 1)))
|
||||
let arr: Array = array.nth(data, i)
|
||||
for j in 0..arr->size
|
||||
let sliced: Array = array.concat(array.slice(arr, 0, j), array.slice(arr, j + 1, arr->size - (j + 1)))
|
||||
|
||||
if check(sliced)
|
||||
out = out + 1
|
||||
@@ -39,14 +40,14 @@ func part2[data: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func main[] : i64
|
||||
let lines: array = io.read_file("input.txt") |> str.split("\n")
|
||||
let lines: Array = io.read_file("input.txt") |> str.split("\n")
|
||||
|
||||
let data: array = []
|
||||
for i in 0..array.size(lines)
|
||||
let data: Array = []
|
||||
for i in 0..lines->size
|
||||
let line: str = array.nth(lines, i)
|
||||
|
||||
let report: array = str.split(line, " ")
|
||||
for i in 0..array.size(report)
|
||||
let report: Array = str.split(line, " ")
|
||||
for i in 0..report->size
|
||||
array.set(report, i, str.parse_i64(array.nth(report, i)))
|
||||
array.push(data, report)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user