기록
행렬 방향별 연산 - 파이썬(Python) 본문
Matrix
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
행렬 방향별 연산 (한줄씩 수행)
행 or 열 방향 기준으로 행이면 행연산, 열이면 열연산
1) 아래 방향 열 연산
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
2) 오른쪽 방향 행 연산
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
3) 위 방향 열 연산
5 10 15 20 25
4 9 14 19 24
3 8 13 18 23
2 7 12 17 22
1 6 11 16 21
4) 왼쪽 방향 행 연산
5 4 3 2 1
10 9 8 7 6
15 14 13 12 11
20 19 18 17 16
25 24 23 22 21
이러한 연산의 경우 기준점을 행이냐 열이냐 그리고 0번째 행이냐 N번째 행이냐로 구분지어 해결할 수 있다.
또한, 1씩 증가하는 연산의 경우 (i*N) + j + 1 의 식을 통해서 1씩 증가할 수 있다.
N = 5
Matrix = [[0] * N for _ in range(N)]
# 1. 아래 방향 열 연산
# 기준은 0행의 열을 기준으로 내려간다.
for i in range(N):
for j in range(N):
Matrix[j][i] = (i*N)+j+1
print(Matrix)
Matrix = [[0] * N for _ in range(N)]
# 2. 오른쪽 방향 행 연산
for i in range(N):
for j in range(N):
Matrix[i][j] = (i*N)+j+1
print(Matrix)
Matrix = [[0] * N for _ in range(N)]
# 3. 위 방향 열 연산
for i in range(N):
for j in range(N):
Matrix[N-1-j][i] = (i*N)+j+1
print(Matrix)
Matrix = [[0] * N for _ in range(N)]
# 4. 왼쪽 방향 행 연산
for i in range(N):
for j in range(N):
Matrix[i][N-1-j] = (i*N)+j+1
print(Matrix)

'코딩' 카테고리의 다른 글
| (python)파이썬 - lambda 를 이용한 원소 정렬 (0) | 2023.02.15 |
|---|
Comments