How to count the number of sorted rows in either increasing or decreasing order in a matrix using Swift

1 Answer

0 votes
import Foundation

func sortedCount(_ matrix: [[Int]]) -> Int {
    var result = 0

    // Check for strictly increasing rows
    for row in matrix {
        if zip(row, row.dropFirst()).allSatisfy({ $0 < $1 }) {
            result += 1
        }
    }

    // Check for strictly decreasing rows
    for row in matrix {
        if zip(row, row.dropFirst()).allSatisfy({ $0 > $1 }) {
            result += 1
        }
    }

    return result
}

let matrix = [
    [1, 2, 3, 4, 5],
    [2, 3, 1, 8, 7],
    [8, 7, 6, 5, 4],
    [5, 7, 8, 9, 10]
]

print("Number of sorted rows:", sortedCount(matrix))



/*
run:

Number of sorted rows: 3

*/

 



answered Oct 1 by avibootz
...