리스트 내 최대값 구하기 코딩이 기대한 대로 작동하지 않음

조회수 479회
def maxFunc(t): 
    max = 0
    for i in range(10): 
        if t >= max:
            max = t
    return max

A = [1, 2, 3, 4, 5, 6, 73, 8, 10, 54] 

maxNum = list(map(maxFunc, A))

print(maxNum)

리스트 내부 값 중 제일 큰 값을 출력하는 코드인데 어떻게 고쳐도 자꾸 에러코드가 떠서 질문드립니다.
가능 하시면 설명도 넣어주시면 감사하겠습니다

1 답변

  • map()은 필요없고, range() 역시 쓸데없습니다.

    A = [1, 2, 3, 4, 5, 6, 73, 8, 10, 54, 9, 9, 9, 9, 9]
    
    def maxFunc(t): 
        max = 0
        for i in t: # <--- (2) 여기가 실행될 때마다 i가 1, 2, 3, ..., 9 순서대로 변하면서
            if i >= max: # <--- (3) max와의 비교를 잘 하므로
                max = i
        return max
    
    B = maxFunc(A) # <--- (1) maxFunc라는 함수의 t 자리에 A를 대입하여 문제를 풀면
    
    print(B) # ---> (4) 잘 작동함
    
    • 아이고 감사합니다 덕분에 for문에 대한 이해도가 더 높아졌네요 ㅁㅊ 2022.11.10 22:13

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)