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

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

코딩테스트 [ ALL IN ONE ]

[코테 적용] 👉 [Unique Paths] 완전탐색 / DP (후반부)

O(n)풀이법 질문입니다.

해결된 질문

작성

·

341

1

leetcode의 다른사람의 답을 보다가 시간복잡도가

O(n)이 걸렸다고 쓴 사람의 코드를 보았습니다.

def uniquePaths(self, m, n):
    if not m or not n:
        return 0
    cur = [1] * n
    for i in range(1, m):
        for j in range(1, n):
            cur[j] += cur[j-1]
    return cur[-1]

1차원 배열을 초기화하는 방법을 사용하셨는데 제가 봤을 때 이 방식도 시간복잡도 O(m *n) 이라 생각이 들어 질문을 드립니다.

이 분의 코드 시간복잡도가 O(n)이 맞나요??

답변주시면 정말 감사하겠습니다.

답변 1

0

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요. 코먹하님

코먹하님의 예상대로 1차원배열을 썼더라도 결국엔 O(M*N)의 시간복잡도가 걸립니다!!

1차원 배열을 써서 공간복잡도를 O(M*N) => O(N)으로 낮춘것에 의의가 있는 코드입니다~

또 궁금하신점 있으시면 언제든 질문해주세요!

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

질문하기