import Foundation
func sortColumns(matrix: inout [[String]]) {
let rows = matrix.count
let cols = matrix[0].count
for col in 0..<cols {
// Extract column into an array
var column = [String]()
for row in 0..<rows {
column.append(matrix[row][col])
}
// Sort the column
column.sort()
// Place sorted values back into the matrix
for row in 0..<rows {
matrix[row][col] = column[row]
}
}
}
func printMatrix(_ matrix: [[String]]) {
for row in matrix {
print(row.joined(separator: " "))
}
}
var matrix = [
["ccc", "zzzz", "yyyyyy"],
["eeee", "aaa", "ffff"],
["uu", "hhh", "uuu"],
["bbb", "gg", "x"]
]
print("Original Matrix:")
printMatrix(matrix)
sortColumns(matrix: &matrix)
print("\nSorted Matrix:")
printMatrix(matrix)
/*
run:
Original Matrix:
ccc zzzz yyyyyy
eeee aaa ffff
uu hhh uuu
bbb gg x
Sorted Matrix:
bbb aaa ffff
ccc gg uuu
eeee hhh x
uu zzzz yyyyyy
*/