inflearn logo
강의

講義

知識共有

コーディングテスト [ ALL IN ONE ]

[コーテ適用] 👉 連結リスト実装(後半)

linkedList - BrowserHistory 코드 질문

72

wan

投稿した質問数 1

0

안녕하세요 linkedList에서 BrowserHistory 코드를 구현할 때

저는 처음 linkedList 개념에서 생각했던 대로 linkedList + idx로 접근하는 방향으로 생각했습니다.

# idx로 생각한 예시
# O(n)
    def insert(self, idx):
        current = self.head
        NewNode = Node()
        # insert하려는 앞 노드까지
        for i in range(idx - 1):
            current = current.next
        NewNode.next = current.next
        current.next = NewNode

그런데, BrowserHistory에선 linkedList + class 속성?(current)으로 풀이를 하신 것 같은데 맞을까요?

문제 풀이할 때, visit을 할때마다 현재 idx를 global 변수로 저장해둬야 하나?라는 고민을 했어서

혹시 잘못 생각한 부분이 있는지 알려주시면 감사하겠습니다..!

python 코딩-테스트 알고리즘

回答 1

0

friedhamn

안녕하세요, wan님.

 

맞습니다. BrowserHistory에서 visit 메서드는 속성인 current를 사용하여 O(1)의 시간복잡도로 현재 노드에 바로 접근하고 다음 노드를 추가합니다. (back과 forward 메서드에서 current 값을 조정합니다)

 

만약 current 속성을 할당하지 않았다면 index 값을 속성을 할당한 후 접근을 해야하기 때문에 O(n)의 시간복잡도가 될 수 있습니다.

 

이해가 안되는 부분이 있다면 언제든 질문 주시기 바랍니다.

감사합니다.

노션 공유 링크

0

85

2

수업 중간에 내주신 문제는 해답을 알 수 없는걸까요?

0

74

2

최신 강의와 비교

0

81

2

Min Cost Climbing stairs 질문

0

74

2

노션 공유 부탁드립니다!

1

86

2

for 문에 sort 함수 를 사용하면

1

86

2

노션 공유 부탁드립니다.

0

101

2

디스코드가 올바르지 않다고 뜹니다..!

0

105

1

그래프

0

96

2

노션 공유

1

121

2

시간복잡도 질문

2

122

3

11강 질문

1

76

2

노션 공유 부탁드립니다

0

82

2

list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?

1

165

1

라이브러리 사용

1

134

2

문제 교재는 따로 없는 거 맞나요?

1

200

2

LCA 관련해서 질문이 있습니다.

1

116

2

[Unique Paths] 완전탐색 / DP (후반부)

0

104

1

dp 계단오르기최소비용질문입니다.

0

106

1

Dynamic Array 의 size 정보가 저장되는 곳

2

159

2

노션공유가 안된듯 합니다

1

161

2

[코테 적용] 👉 [3번 문제] 완전탐색 (DFS, BFS) (전반부)

1

119

1

강의자료 만들 때 사용하신 프로그램이 뭘까요?

1

199

1

강의 처음부터 보고있는데 질문있습니다.

1

187

2