def transpose(matrix):
   """
   This function return the transponse of a matrix passed to it
   It takes O(n ^ 2) time --> quadratic run-time complexity

   :param matrix:
   :return new_matrix:
   """
   new_matrix = []
   for i in range(4):
       row = []
       for j in range(4):
           row.append(matrix[j][i])
       new_matrix.append(row)
   return new_matrix