[스파르타 코딩클럽] 부트캠프
[Python] max, min. index 구현 코드 작성하기 | 25.06.02 (월) TIL
marketing-moong
2025. 6. 2. 20:45
📌 오늘 학습 키워드
- max()
- min()
- .index()
📖 오늘 학습한 내용을 나만의 언어로 정리하기
오늘은 max(), min() 함수를 사용하지 않고 파이썬 작동 방식에 따라 코드를 작성해보았다.
numbers = [10,20,30,40,50]
max_number = numbers[0]
min_number = numbers[0]
diff = max_number - min_number
for number in numbers:
if number >= max_number:
max_number = number
for number in numbers:
if number <= min_number:
min_number = number
print(diff)
헷갈렸던 것은 max와 min에 임의의 값을 주는 것이었다.
max를 구하는 경우에는 0을 임의로 주었을 때 코드가 제대로 진행됐지만, min을 구하는 경우에는 값을 주는 기준이 애매했다.
그래서 고민하던 중 새로운 방법을 찾았다.
바로 리스트에 있는 요소들 중 하나로 시작을 하는 것이다.
그래서 max_number 변수에 numbers[0] 를 넣어주었다.
이렇게 하니 정확하게 임의의 값을 줄 수 있었다.
또한 index() 메서드를 사용하지 않고 동일하게 동작하는 함수를 직접 만들어보았다.
numbers = [1800,1000,1500,1200,2000]
max_cost = numbers[0]
max_index = 0
min_cost = numbers[0]
min_index = 0
i = 0
while i < len(numbers):
if numbers[i] > max_cost:
max_cost = numbers[i]
max_index = i
if numbers[i] < min_cost:
min_cost = numbers[i]
min_index = i
i += 1
print(f"최고 광고비는 {max_cost}원, 위치는 {max_index}번째")
print(f"최저 광고비는 {min_cost}원, 위치는 {min_index}번째")
while 반복문을 사용해서 변수 i를 리스트의 길이 -1 만큼 반복하는 것이다.
변수 i 가 들어갔을 때 조건문이 작동하면 인덱스가 i가 되는 원리이다.
문제 정의와 관련된 팁
- 결과를 공유하고자 하는 사람이 누구인지 정의하기
- 결과를 통해 원하는 변화를 생각하기
- 회사 소속이라면, 경영자의 입장에서 보려고 노력
- 많은 사람들과 의견을 나눠보는 것도 방법
- 반드시 혼자서 오래 고민해보는 시간을 가질 것
❌ 학습하며 겪었던 문제점 & 에러
max와 min에 임의 값을 주는 부분이 오늘 겪은 문제점이었다.
하지만 팀원들과의 논의 끝에 답을 도출해낼 수 있었다..!
🎯 내일 학습할 내용
튜터님께서 2번째 코드를 for 문으로 작성해보는 것도 해보라고 권장해주셨다.
반복해야 하는 길이가 정해져있으니 while 보다는 for 문을 사용하는 것이 더 좋다고 하셨다.
다음 수업 시간에 for 문을 사용해서 코드를 작성해보려고 한다.