배열 돌리기 1 실버1 (백준, 구현)
2023. 2. 9. 14:17ㆍ코딩 테스트 준비
728x90
반응형
N, M, R = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(N)]
move = [[1, 0], [0, 1], [-1, 0], [0, -1]] # 하우상좌
def rotate():
carr = [[] for _ in range(N)]
for i in range(N):#배열 복사
carr[i]=arr[i][:]
sr = 0; sc = 0; er = N - 1; ec = M - 1
for depth in range(min(M, N)//2):
r = sr
c = sc
for d in move:
while True:
nr = r + d[0]
nc = c + d[1]
if sr <= nr <= er and sc <= nc <= ec:
arr[nr][nc] = carr[r][c]
r = nr
c = nc
else:
break
sr+=1; sc+=1; er-=1; ec-=1
for r in range(R): # 전체 회전 횟수
rotate()
for i in range(N):
print(*arr[i])
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
블로그 실버3 (백준, 투포인터(슬라이딩 윈도우)) (0) | 2023.02.09 |
---|---|
크로스워드 퍼즐 쳐다보기 실버2 (백준, 문자열) (0) | 2023.02.09 |
포도주 시식 실버1 (백준, DP) (0) | 2023.02.09 |
쉬운 계단 수 실버1 (백준, DP) (0) | 2023.02.02 |
LCS2 골드4 (백준, DP) (0) | 2023.02.01 |