강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dksckd0804님의 프로필 이미지
dksckd0804

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

8. 곳감(모래시계)

곳감문제 곳감 갯수 더할 때 질문입니다.

작성

·

160

0

from collections import deque

def solution() :
    n = int(input())
    tree = [list(map(int, input().split())) for _ in range(n)]
    m = int(input())
   
    for _ in range(m) :
        c, d, v = map(int, input().split())
        tmp = deque(tree[c-1])
       
        if d == 0 :
            for _ in range(v) :
                tmp.append(tmp.popleft())
        else :
            for _ in range(v) :
                tmp.appendleft(tmp.pop())
        tree[c-1] = list(tmp)

    s = 0
    e = n-1
    res = 0
    for i in range(n) :
        res += sum(tree[i][s : e+1])
        if i < n//2 :
            s += 1
            e -= 1
        else :
            s -= 1
            e += 1
   
    print(res)
   
solution()

코드는 위와 같습니다.
마지막에 곳감갯수 더하실 때 for문을 활용하여 더하셨는데 위 코드처럼 슬라이싱과 sum을 활용해도 괜찮을까요??
for문을 사용하는것이 시간복잡도가 덜 할까요??

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 잘 하신 코드입니다. 영상과 시간복잡도 차이가 없어 보입니다.

dksckd0804님의 프로필 이미지
dksckd0804

작성한 질문수

질문하기