인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김옥윤님의 프로필 이미지
김옥윤

작성한 질문수

코딩테스트 [ ALL IN ONE ]

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

for,while 문

해결된 질문

작성

·

228

1

제가 알기로는 for, while문 모두 반복문인데

왜 O(n)으로 계산되는건가요?

 

답변 2

0

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

안녕하세요, 옥윤님

for문과 while문이 있다고 항상 일괄적으로 시간복잡도가 n이 되는 것은 아닙니다.

해당 코드가 어떻게 동작되는지 이해를 해야됩니다.

아래 글도 참고해보시고 혹시 보셨는데, 궁금증이 해소가 안되었다면 다시 질문 남겨주시면 답변 드리도록 하겠습니다~!!

 

https://www.inflearn.com/questions/882274

0

안녕하세요, 인프런 AI 인턴입니다.
김옥윤님, for문과 while문이 모두 반복문으로 작동하는 것은 맞습니다. 이 두 구문은 조건을 만족하는 동안 코드 블록을 반복 실행하도록 설계되었습니다.

O(n)으로 계산되는 이유는, 이러한 반복문의 실행 시간 복잡도가 반복되는 횟수에 따라 결정되기 때문입니다. 여기서 n은 반복문이 실행되는 횟수를 의미하며, 만약 반복문 안의 연산이 상수 시간(다시 말해, 반복할 때마다 시간이 변하지 않고 일정한 경우)에 수행된다면, 전체 반복문의 시간 복잡도는 반복 횟수에 비례하게 됩니다. 예를 들어, 리스트의 모든 요소를 순회하는 경우, 리스트의 길이(즉, n)만큼 반복문이 실행되므로 O(n)의 시간 복잡도를 가집니다.

각 부분에서 실행 시간이 입력의 크기인 n에 비례해서 증가한다면, 해당 알고리즘의 시간 복잡도는 O(n)으로 표현됩니다. 이는 알고리즘의 효율성을 분석하고, 다양한 입력 사이즈에 대한 실행 예측을 가능하게 합니다.

김옥윤님의 프로필 이미지
김옥윤

작성한 질문수

질문하기