Last active
December 18, 2019 16:30
-
-
Save junebash/afb6591646bee3f3e8d612a819aa1195 to your computer and use it in GitHub Desktop.
Flip Matrix (Lambda School iOS11 Code Challenge)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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