대우를 활용한 코드 최적화(Optimize code with Contrapositive)
A이면 B이다. ~B이면 ~A이다.If P, Then Q. If not Q, Then not P. 대우를 활용해서 파이썬에서 코드 최적화 방법에 대해 정리해본다.1. 조건문 최적화2. 예외 처리3. 논리적 동치 != 복잡도 - O(1) -> O(n) 되는 경우 1. 조건문 최적화# 원래 조건문if not (P and Q): do_something()# 대우를 활용한 조건문if not P or not Q: do_something() not (P and Q) == not P or not Q 드 모르간 법칙. 논리적으로는 동치지만 코드 최적화 부분에서는 느낌이지만 미세하게나마 차이가 존재한다. 1.1 차이둘 다 모두 O(1) 이다.다만 전자의 경우 P가 False 일 경우에도 Q를 판단해..
2024.09.09