aboutsummaryrefslogtreecommitdiff
path: root/challenge-053/paulo-custodio/python/ch-1.py
blob: c323b6f3a80296e63f1e05b55522990ed622822e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env python3

# Challenge 053
#
# TASK #1
# Rotate Matrix
# Write a script to rotate the followin matrix by given 90/180/270 degrees
# clockwise.
#
# [ 1, 2, 3 ]
# [ 4, 5, 6 ]
# [ 7, 8, 9 ]
# For example, if you rotate by 90 degrees then expected result should be like
# below
#
# [ 7, 4, 1 ]
# [ 8, 5, 2 ]
# [ 9, 6, 3 ]

m = [[ 1, 2, 3 ],
     [ 4, 5, 6 ],
     [ 7, 8, 9 ]];

def rotate90(m):
    return [[ m[2][0], m[1][0], m[0][0] ],
            [ m[2][1], m[1][1], m[0][1] ],
            [ m[2][2], m[1][2], m[0][2] ]]

def rotate180(m):
    return rotate90(rotate90(m))

def rotate270(m):
    return rotate90(rotate90(rotate90(m)))

def display(m):
    for row in m:
        print("[ "+", ".join([str(x) for x in row])+" ]")
    print("")

display(rotate90(m))
display(rotate180(m))
display(rotate270(m))