inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩테스트 [ ALL IN ONE ]

[코테 적용] 👉 LIFO 2번 째 문제

LIFO 2번째 문제의 시간복잡도

946

tseqnu U

작성한 질문수 20

5

좋은 강의 감사합니다. LIFO 2번째 문제는 for문 안에 while문이 들어가 있기 때문에 시간복잡도가 O(n^2)인 것 같다는 생각이 드는데요. 전체 시간복잡도가 왜 O(n)인지 설명을 부탁드립니다.

python 코딩-테스트 알고리즘 lifo 시간복잡도

답변 2

0

개발남노씨

안녕하세요 tseqnu U님

인프런 AI 인턴의 대답이 정확한데요,

for 안에 while이 들어 있어서

O(n^2)으로 될 것 같지만,

while문이 n번 실행되는 경우가

for 반복문이 진행됨에 따라 여러번 반복된다면 O(n^2)의 시간복잡도가 될 터이지만,

while문은 "총" n번 실행되는 것이기 때문에, for 반복문에 영향 없이 결국 총 n번만 실행되게 됩니다.

 

다시말해서 n번 실행되는게 여러번 반복된다면 N^2으로 볼 수 있지만, "총" n번 반복되기에

for문과 while문이 같이 쓰여도 시간복잡도는 O(n)이되게 됩니다.

1

LetsGoHigh

안녕하세요.

'다시말해서 n번 실행되는게 여러번 반복된다면 N^2으로 볼 수 있지만, "총" n번 반복되기에

for문과 while문이 같이 쓰여도 시간복잡도는 O(n)이되게 됩니다.' 라고 답변해주셨는데요~

n번 반복 = 여러번 반복이 아닌가요? 조금 헷갈리네요..ㅋ

0

June

while 루프에서 실행되는 명령어의 조건문을 곰곰히 생각해보시면,

"총 n번 만큼" 실행된다는 말의 의미를 제대로 알아차리실 수 있을 거예요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

LIFO 2번째 문제에서 for문 안에 들어가 있는 while문은 역순으로 정렬된 리스트에서 최초로 주어진 조건을 만족하는 값을 찾는 것이 목적입니다. 따라서 while문은 최대 한 번만 수행되는 경우도 있습니다.

최악의 경우, while문은 n번 수행될 수 있습니다. 하지만 이러한 경우는 해당 리스트의 모든 요소가 조건을 만족하는 경우입니다. 즉, 최악의 경우에도 전체 리스트를 한 번만 순회하면 되기 때문에 전체 알고리즘의 시간복잡도는 O(n)입니다.

따라서, LIFO 2번째 문제의 시간 복잡도는 O(n)입니다. 감사합니다.

노션 공유 링크

0

87

2

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

0

78

2

최신 강의와 비교

0

85

2

Min Cost Climbing stairs 질문

0

77

2

노션 공유 부탁드립니다!

1

88

2

for 문에 sort 함수 를 사용하면

1

90

2

노션 공유 부탁드립니다.

0

105

2

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

0

107

1

그래프

0

98

2

노션 공유

1

123

2

시간복잡도 질문

2

125

3

11강 질문

1

78

2

노션 공유 부탁드립니다

0

84

2

linkedList - BrowserHistory 코드 질문

0

76

1

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

1

168

1

라이브러리 사용

1

137

2

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

1

202

2

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

1

118

2

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

0

108

1

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

0

109

1

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

2

161

2

노션공유가 안된듯 합니다

1

165

2

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

1

122

1

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

1

204

1