문제)
답안코드)
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
|
import sys
#sys.stdin = open("input.txt", 'r')
n=int(input())
a=[list(map(int, input().split())) for _ in range(n)]
m=int(input())#회전 명령 수
for i in range(m):
h, t, k=map(int, input().split())#행, 방향, 수
if(t==0):#왼쪽일 경우
for _ in range(k):
a[h-1].append(a[h-1].pop(0))#맨 앞자료를 빼서 맨 뒤로 삽입
else:#오른쪽일 경우
for _ in range(k):
a[h-1].insert(0, a[h-1].pop())#맨 뒷자료를 빼서 맨 앞으로 삽입
res=0#정답
s=0#왼쪽 포인터
e=n-1#오른쪽 포인터
for i in range(n):
for j in range(s, e+1):
res+=a[i][j]
if i<n//2:#중간지점을 지나지 않았다면, 범위 쫍힘
s+=1
e-=1
else:#중간지점을 지났다면, 범위 넓힘.
s-=1
e+=1
print(res)
|
cs |
'코딩테스트 with PYTHON' 카테고리의 다른 글
[python] 코딩테스트 대비 - 스토쿠 검사 (0) | 2022.01.10 |
---|---|
[python] 코팅테스트 대비 - 2차원 배열 상하좌우 비교 (0) | 2022.01.10 |
[python] 코딩테스트 대비 - 2차원배열 다이아몬드 (0) | 2022.01.10 |
[python] 코딩테스트 대비 - 2차원 배열 합 (0) | 2021.12.20 |
[python] 코딩테스트 대비 - 수열의 합 (경우의 수) (0) | 2021.12.20 |