반응형
Python의 내장함수 max와 min은 입력받은 인자들의 최댓값을 구한다.
만약 하나의 인자를 입력받았다면 iterable한 인자를 넣어야 한다.
test = [7, 4, 2, 6, 8]
print(max(1,2,3)) #3
print(min(1,2,3)) #1
print(max(test)) #8
print(min(test)) #2
추가로 key와 default값을 입력받을 수 있는데
key는 각 요소를 시작전에 한번 계산을 할 수 있게 하는것인데 추후 sort부분에서 다루려고 한다.
default는 반환할 값이 없을 때 반환할 값을 지정할 수 있다.
그러면 설계를 해보겠다. 편의상 key와 default는 생략하겠다.
먼저 args를 입력받아서 그 길이가 1이면 args[0]을 사용하도록 바꿔준다.
그후 max값을 첫번째 값으로 초기화 해주고 args를 iteration하며 max값보다 큰 값이 나오면 max값을 바꿔주고
반복이 끝났을 때 max를 리턴해준다.
def my_max(*args):
if len(args)==1:
args = args[0]
max=args[0]
for num in args:
if(max<num):
max=num
return max
def my_min(*args):
if len(args)==1:
args = args[0]
min=args[0]
for num in args:
if(min>num):
min=num
return min
그러면 테스트를 해보겠다.
test = [7, 4, 2, 6, 8]
assert max(test) == my_max(test) and min(test) == my_min(test)
assert max(7, 4, 2, 5) == my_max(7, 4, 2, 5) and min(7, 4, 2, 5) == my_min(7, 4, 2, 5)
정상적으로 동작하는 것을 볼 수 있다.
반응형
'Studying > Python' 카테고리의 다른 글
[Python] 내장함수 reversed 구현 (0) | 2022.05.18 |
---|---|
[Python] 내장함수 range 구현 (0) | 2022.05.18 |
[Python] 내장함수 enumerate 구현 (0) | 2022.05.15 |
[Python] 내장함수 round 구현 (0) | 2022.05.15 |
[Python] 내장함수 abs 구현 (0) | 2022.05.13 |
댓글