Прохожу тест Diagonal Difference in Go
Моя функция прошла только 2 или 3 теста
spoiler
func diagonalDifference(arr [][]int32) int32 {
var firstDiagonal int32 = 0
var secondDiagonal int32 = 0
for i, slice := range(arr) {
if i == 0 {
continue
}
for j,_ := range(slice) {
if i == 1 && j == 0 {
firstDiagonal = firstDiagonal + arr[i][j]
}
if i == 2 && j == 1 {
firstDiagonal = firstDiagonal + arr[i][j]
}
if i == 3 && j == 2 {
firstDiagonal = firstDiagonal + arr[i][j]
}
if i == 1 && j == 2 {
secondDiagonal = secondDiagonal + arr[i][j]
}
if i == 2 && j == 1 {
secondDiagonal = secondDiagonal + arr[i][j]
}
if i == 3 && j == 0 {
secondDiagonal = secondDiagonal + arr[i][j]
}
}
}
var result int32 = Abs(firstDiagonal - secondDiagonal)
fmt.Println(firstDiagonal)
fmt.Println(secondDiagonal)
return result
}
Нашел код
https://gist.github.com/ranapu/f9a34a2d0a129259eee...
Запустил - все тесты прошли.
Запустил из консоли.
Ввожу строки
3
11 2 4
4 5 6
10 8 -12
Как fmt.Scan читает строки и разделяет элементы на int в Golang?
По идее нужно строку разделять на элементы и из них получать массив.
someString := "one two three four "
words := strings.Fields(someString)