-
[백준] 16935번 배열 돌리기 3 - 파이썬(Python)Python/백준 - 기초 2022. 2. 26. 15:02
문제링크: https://www.acmicpc.net/problem/16935
16935번: 배열 돌리기 3
크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 →
www.acmicpc.net
import sys input = sys.stdin.readline n, m, r = map(int,input().split()) table = [] temp = [] for i in range(n): table.append(list(map(int,input().split()))) def one(): temp = [[0] * m for _ in range(n)] for i in range(n): temp[i] = (table[n-i-1]) return temp def two(): temp = [[0] * m for _ in range(n)] for i in range(n): for j in range(m): temp[i][j] = table[i][m-1-j] return temp def three(): temp = [[0] * n for _ in range(m)] for i in range(m): for j in range(n): temp[i][j] = table[n-1-j][i] return temp def four(): temp = [[0] * n for _ in range(m)] for i in range(m): for j in range(n): temp[i][j] = table[j][m-1-i] return temp def five(): temp = [[0] * m for _ in range(n)] for i in range(n//2): # 4를 1로 for j in range(m//2): temp[i][j] = table[i+n//2][j] for i in range(n//2, n): # 3을 4로 for j in range(m//2): temp[i][j] = table[i][j+m//2] for i in range(n//2, n): # 2를 3으로 for j in range(m//2, m): temp[i][j] = table[i - n//2][j] for i in range(n//2): # 1을 2로 for j in range(m//2, m): temp[i][j] = table[i][j-m//2] return temp def six(): temp = [[0] * m for _ in range(n)] for i in range(n//2): # 2를 1로 for j in range(m//2): temp[i][j] = table[i][j-m//2] for i in range(n//2, n): # 1을 4로 for j in range(m//2): temp[i][j] = table[i-n//2][j] for i in range(n//2, n): # 4를 3으로 for j in range(m//2, m): temp[i][j] = table[i][j - m//2] for i in range(n//2): # 3을 2로 for j in range(m//2, m): temp[i][j] = table[i-n//2][j] return temp for _ in range(r): x = list(map(int,input().split())) for i in x: if i == 1: table = one() if i == 2: table = two() if i == 3: table = three() n,m = m,n if i == 4: table = four() n,m = m,n if i == 5: table = five() if i == 6: table = six() for i in table: print(*i)
'Python > 백준 - 기초' 카테고리의 다른 글
[백준] 16935번 배열 돌리기 3 - 파이썬(Python) (0) 2022.03.04 [백준] 1261번 알고스팟 - 파이썬(Python) (0) 2022.02.28 [백준] 13913번 숨바꼭질 4 - 파이썬(Python) (0) 2022.02.24 [백준] 1697번 숨바꼭질 - 파이썬(Python) (0) 2022.02.24 [백준] 2133번 타일 채우기 - 파이썬(Python) (0) 2022.02.24