본문 바로가기
* Language/Python

[Python] 파이썬 반복문(for문)을 이해하기 전...

by codinguser 2021. 2. 15.

우리는 수학연산에서 곱셈을 배우기 이전에 덧셈을 먼저 배운다.

덧셈을 모르는데 곱셈을 배운다는건 곱셈의 원리를 모르고 단순 암기를 하고 있다는것이 되버린다.

 

아래의 2가지 케이스를 살펴보자

 

 

 

case1)

 

a = 5

b = 10

 

print(a*b)

#50

 

 

: 그냥 단순 두 변수를 곱해서 결과를 출력하는 연산이다.

 

 

 

 

 

case2)

 

a = 5

 

ans = 0

for _ in range(10):

    ans += a

 

print(ans)

#50

 

: 곱셈의 원리인 덧셈을 활용한 것. 즉 5를 10번 더한것이 5 * 10이기에 반복문을 통해 해당 결과를 출력 한 것.

 

 

 

순서가 어찌됬든 위의 2가지의 경우 모두를 알고 있어야 한다고 생각한다.

 

Case 2의 경우 만약 (파이썬의 경우)로 연산횟수가 약 1000만이 넘어가게 되면 시간초과를 받을 수 있는데, 그것이 바로 시간 복잡도에 대한 기초이다.

 

 

기타예시)

n = a * b

시간복잡도 : O(1)

 

n = 0

for i in range(b):

 

n+=a

시간복잡도 : O(b)

댓글