package day08 import ( "aoc2015/aoclib" "encoding/hex" ) func Part1(puzzle aoclib.Puzzle) interface{} { answer := 0 for _, line := range puzzle.GetInputArray() { line = line[1 : len(line)-1] newline := "" index := 0 for index < len(line) { if line[index] == '\\' { if line[index+1] == '\\' || line[index+1] == '"' { newline += string(line[index+1]) index++ } else if line[index+1] == 'x' { decoded, _ := hex.DecodeString(line[index+2 : index+4]) newline += string(decoded) index += 3 } } else { newline += string(line[index]) } index++ } answer += len(line) - len(newline) + 2 } return answer } func Part2(puzzle aoclib.Puzzle) interface{} { answer := 0 for _, line := range puzzle.GetInputArray() { newline := "" for _, c := range line { if c == '"' || c == '\\' { newline += "\\" + string(c) } else { newline += string(c) } } answer += len(newline) - len(line) + 2 } return answer }