Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- Battery modeling
- 코이딥
- 머신러닝
- 리튬배터리
- Battery Deep Learning
- 코드로 이해하는 딥러닝
- Battery Management System
- Incremental Capacity Analysis
- 머신러닝 코드
- 배터리 열화
- AzureML
- Deep learning
- 배터리 EIS
- Battery SOH
- 배터리 AI
- eis
- 배터리 딥러닝
- 배터리 모델링
- 칼만필터
- tensorflow
- 딥러닝
- 텐서플로우
- Machine Learning
- 배터리 연구
- Azure
- Battery AI
- state of health
- 딥러닝 코드
- bms
- 배터리 진단
Archives
- Today
- Total
Engineering insight
[파이썬으로 알고리즘배우기-1] 최대값 구하기 본문
"a,b,c 3개의 숫자들중 최대값을 찾는 알고리즘을 구현해보기"
① 각각의 모든 케이스에 대해 비교해보기
a>b를 비교하고 True라면, a>c를 비교해서 True라면 a가 최대값
b>a가 True라면, b>c를 비교해서 True이면 b가 최대값
c>a가 True라면, c>b를 비교해서 True이면 c가 최대값

[알고리즘 설명]
초등학생들도 생각할 수 있을법한 알고리즘으로 구현해보았습니다.
3개의 숫자 모두 각각을 비교해보면 최대값이 무엇인지 알 수 있는 코드입니다.
따라서 총 조건문의 갯수는 (3P(factorial)2) 6개입니다.
② 조건문을 2개만 사용하여 풀어보기
위의 예제에서는 조건문을 총 6개 사용하였는데요, 조건문의 갯수를 3분의1개로 줄인 2개로 구현해보겠습니다.

코드가 아주 간단해졌습니다.
maximum이라는 변수에 a를 저장하고,
b>maximum인경우에만, maximum=b로 변경합니다.
따라서, 첫번째 if문을 통과하는 maximum이라는 변수의 값은 a와b중 큰값입니다.
그다음, c>maximum이라는 조건문을 통해 a와b중 큰값과 c를 비교하여 c가 큰경우에는 c를 maximum으로, 아닌경우에는 첫번째 조건문에서 통과했던 최대값을 maximum으로 그대로 가지고 있습니다.

def max(a,b,c) 라는 함수를 만들어, 언제든 호출할 수 있도록 구현할수도 있습니다.
'Algorithm' 카테고리의 다른 글
| [파이썬으로 알고리즘배우기-4] 1~N 숫자더하기 (0) | 2021.02.09 |
|---|---|
| [파이썬으로 알고리즘배우기-3] 중간값 구하기 (0) | 2021.02.08 |
| [파이썬으로 알고리즘배우기-2] 최소값 구하기 (0) | 2021.02.07 |
| [파이썬으로 알고리즘배우기] 연재에 앞서.. (0) | 2021.02.05 |
