From: sgf Date: Fri, 24 Dec 2021 20:24:35 +0000 (+0300) Subject: chore(go/day4): Use methods. X-Git-Url: https://gitweb.sgf-dma.tk/?a=commitdiff_plain;h=36ac1ead468bbcf0cb2a86f413de81d03cb12422;p=aoc-2021.git chore(go/day4): Use methods. --- diff --git a/day4/main.go b/day4/main.go index 665de8c..7749d34 100644 --- a/day4/main.go +++ b/day4/main.go @@ -106,7 +106,7 @@ func readInput(r io.Reader) (drawn []int, boards []Board, err error) { var marked int = -1 -func markNumber(drawn int, b *Board) bool { +func (b *Board) markNumber(drawn int) bool { fmt.Printf("Marking %d in board %v (%v %v)\n", drawn, b.board, b.markedLine, b.markedCol) for i := 0; i < 5; i++ { for j := 0; j < 5; j++ { @@ -124,8 +124,8 @@ func markNumber(drawn int, b *Board) bool { return false } -func sumBoard(b Board) (s int) { - fmt.Printf("Summing board board %v\n", b.board) +func (b Board) sumBoard() (s int) { + //fmt.Printf("Summing board board %v\n", b.board) for i := 0; i < 5; i++ { for j := 0; j < 5; j++ { if b.board[i][j] == marked { continue } @@ -139,10 +139,10 @@ func f1 (drawn []int, bs []Board) int { for _, k := range drawn { fmt.Printf("Draw %d\n", k) for t := 0; t < len(bs); t++ { - isWinner := markNumber(k, &bs[t]) + isWinner := bs[t].markNumber(k) fmt.Printf("Resulting board %d: %v\n", t, bs[t]) if isWinner { - s := sumBoard(bs[t]) + s := bs[t].sumBoard() fmt.Printf("Winner board %d: %v with sum %d\n", t, bs[t], s) return k * s }