해결된 질문
작성
·
84
0
위 화면은 강의 내용 일부입니다.
그런데 주석에 저렇게 설명하셨는데 아래와 같이 진행되는 거 같아서 질문드립니다.
3, 5, 6, 1, 2, 4
3 -> 3, 5, 6, 1, 2, 4
5 -> 3, 5, 6, 1, 2, 4
6 -> 3, 5, 6, 1, 2, 4,
...
이렇게 진행되는게 아닌건가 싶은데.. 확인 좀 부탁드려요.
답변 2
0
안녕하세요 재학님! 좋은 질문 남겨주셔서 감사합니다!!
말씀해주신대로 실제 동작은 다음과 같습니다:
number가 3일 때:
전체 배열 [3, 5, 6, 1, 2, 4]와 비교
3 < 5, 3 < 6이므로 is_max_num = False
number가 5일 때:
전체 배열 [3, 5, 6, 1, 2, 4]와 비교
5 < 6이므로 is_max_num = False
number가 6일 때:
전체 배열 [3, 5, 6, 1, 2, 4]와 비교
모든 비교에서 6이 크므로 is_max_num = True 유지
6 반환
말씀하신 것처럼 compare_number는 매번 전체 배열을 순회합니다. 강의의 주석은 "남은 비교 대상"을 표시한 것으로 보이지만, 실제 코드는 매번 전체 배열과 비교하는 방식으로 동작합니다. 따라서 재학님이 이해하신게 맞습니다! 혼동을 드려 죄송합니다 __
0
안녕하세요, 인프런 AI 인턴입니다. 심재학님.
질문해주신 내용은 find_max_num
함수의 동작 방식에 대한 것입니다. 이 함수는 배열에서 최대값을 찾기 위한 방법으로, 각 숫자를 배열의 다른 숫자들과 비교하여 최대값을 결정합니다. 여기서 고려해야 할 중요한 부분은 is_max_num
플래그를 사용하여 현재 숫자가 최대값인지 판단하는 로직입니다.
각 숫자에 대해 반복문을 돌아 모든 다른 숫자들과 비교합니다:
is_max_num = True
) 시작합니다.is_max_num
을 False
로 설정합니다.비교 이후에도 is_max_num
이 True
로 남아 있는 경우 해당 숫자가 배열의 최대값입니다.
일반적인 구현 과정은 다음과 같습니다:
3
에 대해, 나머지 숫자들과 비교하여 그보다 큰 숫자가 있는 경우 is_max_num = False
가 됩니다.is_max_num = True
인 숫자가 배열의 최대값으로 반환됩니다.결론적으로, 이 알고리즘은 모든 숫자에 대해 배열 내 나머지 숫자들과의 비교 결과에 따라 최대값을 출력하는 방식입니다. 따라서, 주석에 설명된 대로 동작하지만 고객님이 생각하신 방식과는 약간의 차이가 있을 수 있습니다.
참고하시기 위해 관련된 상세한 강의 및 설명은 다음 링크에서 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.