Skip to content

Instantly share code, notes, and snippets.

@junebash
Last active December 18, 2019 16:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save junebash/afb6591646bee3f3e8d612a819aa1195 to your computer and use it in GitHub Desktop.
Save junebash/afb6591646bee3f3e8d612a819aa1195 to your computer and use it in GitHub Desktop.
Flip Matrix (Lambda School iOS11 Code Challenge)
/*
Given a matrix A, return the transpose of A.
The transpose of a matrix is the matrix flipped over it's main diagonal,
switching the row and column indices of the matrix.
Example 1:
Input: [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]
Example 2:
Input: [[1,2,3],[4,5,6]]
Output: [[1,4],[2,5],[3,6]]
*/
func flipMatrix(_ input: [[Int]]) -> [[Int]] {
var output = [[Int]]()
for i in 0 ..< input.count {
for j in 0 ..< input[i].count {
if output.count <= j { output.append([]) }
output[j].append(input[i][j])
}
}
return output
}
// tests
print(flipMatrix([[1,2,3],[4,5,6],[7,8,9]]))
print(flipMatrix([[1,2,3],[4,5,6]]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment