우리는 수학연산에서 곱셈을 배우기 이전에 덧셈을 먼저 배운다.
덧셈을 모르는데 곱셈을 배운다는건 곱셈의 원리를 모르고 단순 암기를 하고 있다는것이 되버린다.
아래의 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)
'* Language > Python' 카테고리의 다른 글
[파이썬 Python] 쉽게 이해하는 continue, break (0) | 2021.08.26 |
---|---|
[Python] 파이썬 : 객체지향 프로그래밍(OOP)란? (0) | 2020.12.31 |
[Python] 파이썬 : 예외 처리(try-except-finally) 단계별로 이해하기 (0) | 2020.12.24 |
[Python] 파이썬 : sort()와 sorted() 차이 (1) | 2020.12.20 |
[Python] 파이썬 : map()함수 왜 쓰는지와 사용법 단계별로 이해하기 (0) | 2020.11.30 |
댓글