본문 바로가기

Algorithm/파이썬 알고리즘 문제풀이

[python/inflearn/section3] 곳감(모래시계)

본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다.

이미지 클릭시, 강의로 이동됩니닷 :)

# 곳감(모래시계)
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):
    x, y, z = map(int, input().split())
    if y == 0:
        # 왼쪽
        for _ in range(z):
            # 처음꺼를 제거한 후 맨끝에 다시 넣는다.
            a[x-1].append(a[x-1].pop(0))
    else :
        # 오른쪽
        for _ in range(z):
            # 마지막꺼를 제거한 후 맨 앞에 다시 넣는다.
            a[x-1].insert(0, a[x-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)