1. 중복 조건 비교 제거
def med3(a, b, c):
if (b >= a and c <= a) or (b <= a and c >= a):
return a
elif (a > b and c < b) or (a < b and c > b):
return b
return c
위의 코드에서 if와 elif의 조건을 보면 a와 b의 값 비교가 중복되어 있음을 알 수 있다.
이러한 비교 조건의 중복은 코드의 효율을 나쁘게 만드는 요소이다.
2. 반복문 안에 조건문 제거
sum = 0
for i in range(a, b + 1):
if i < b:
print(f'{i} + ', end='')
else:
print(f'{i} = ', end='')
sum += i
위의 코드는 반복문 안에 조건문이 있는 구조로 반복될 때마다 조건문이 실행되는 비효율적인 구조를 띄고 있다.
조건을 살펴보면 카운터용 변수 i가 b보다 작은 지를 비교한다. 이는 곧 카운터용 변수가 조건문의 마지막 원소인지를 비교하는 것과 일치한다. 이러한 경우 반복문이 다 실행된 뒤 else문에 해당하는 코드를 실행하는 구조로 설계하면 반복문 내에서 조건문을 사용할 필요가 없어진다.
이러한 경우와 같이 굳이 반복문 안에서 조건문을 사용할 필요가 없는 구조는 회피하는 편이 코드의 효율을 높일 수 있다.
참고
http://www.yes24.com/Product/Goods/91219874
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편 - YES24
기업 코딩 테스트와 모든 시험의 기초가 되는 ‘자료구조와 알고리즘’!213개의 그림과 136개의 파이썬 실전 예제로 빠르고! 쉽게! 배운다.자료구조와 알고리즘은 국내외 IT 기업의 면접과 코딩
www.yes24.com
'알고리즘' 카테고리의 다른 글
효율을 높이는 방법 - 반복되는 규칙 (0) | 2021.08.16 |
---|---|
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편 - 03 검색 알고리즘 요약 (0) | 2021.06.22 |
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편 - 02 기본 자료구조와 배열 요약 (0) | 2021.05.24 |
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편 - 01 알고리즘 기초 요약 (0) | 2021.05.22 |