여러 코딩테스트를 풀어보니 행렬을 90도 회전해야한다거나 행렬을 상하좌우 뒤집어야 하는 일이 종종 보입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
n = 3
m = 3
first_list = [[1,2,3],[4,5,6],[7,8,9]]
result = [[0]*n for _ in range(m)]
# 1. 반복문
for i in range(n):
result[i] = first_list[n-1-i]
#2. 문자열 슬라이싱
first_list = first_list[::-1]
print(first_list, result)
결국 [0] [1] [2] 한줄단위로 들어 있는 것이기 때문에 이를 뒤집으면 [2] [1] [0]이 되고 2차원 행렬로 배열해서 보면 상하를 뒤집은게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
n = 3
m = 3
first_list = [[1,2,3],[4,5,6],[7,8,9]]
result = [[0]*n for _ in range(m)]
# 1. 반복문
for i in range(n):
for j in range(m):
result[i][j] = first_list[i][m-1-j]
# 2. 문자열 슬라이싱
for i in range(n):
first_list[i] = first_list[i][::-1]
이번에는 좌우반전입니다. 각 줄에 있는 숫자를 뒤집어서 넣어주면 됩니다.
Comments powered by Disqus.