result에는 어떤 형태로 저장되어 왔길레 가장 큰 값을 기억할 수 있는 걸까요?

조회수 484회
result =0

for i in range(n):
    data = list(map(int,input().split()))
    mini = min(data)
    result = max(result,mini)

i가 n이 될 때까지 list형태의 data에 값을 입력받는 다는 것은 알겠습니다.

그러나 mini = min(data)여기같은 경우

한번 입력 받은 후 그 중에서 가장 작은 값을 mini에 저장하고

result = max(result,mini) < 여기엔 현재 들어있는 값은 처음 입력 받은 값 중에서 작은 거니 하나가 저장될테지만

그 다음에 입력받으면 맨 처음에 입력받은 data 위에 덧씌워지는거 아닌가요?

그렇다면 mini값도 새로 저장될테고 할텐데

result에는 어떤 형태로 저장되어 왔길레 가장 큰 값을 기억할 수 있는 걸까요?

3 1 2
4 1 4
2 2 2  

예를 들어 이렇게 입력이 되었다면 처음엔 1 그 다음에도 1 마지막엔 2가 mini 값으로 갈텐데 그 다음부터가 이해가 잘 가지 않습니다.

  • 저는 무슨말을 하는지 이해가 가지 않습니다. 그 다음이 뭐에요? dbwodlf3 2022.6.28 17:41
  • if result > mini => result := result else result := mini 입니다. dbwodlf3 2022.6.28 17:42

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    처음엔 1 (생략)이 mini 값으로 갈텐데

    좋습니다. 그러면 그 직후에는 무슨 일이 일어나나요?

    result = 0
    for i in range(n) :
      # 생략
      result = max(result, mini) # <---- 여기서 무슨 일이 일어나고 있는 거죠??
    

    mini == 1이고, 아직 result == 0이니까, max(result, mini) == 1이고, 그러면 result = 1이 실행되는 일이 일어나겠군요.
    그러면 이때부터는 result == 1입니다.

    그 다음 두 번째 for를 돌고 나면 result는 또 어떻게 될까요? 그러면 모든 것이 끝난 뒤의 result는 무엇이 될까요? 한번 찬찬히 생각해 보세요! 😉

    * result 변수의 이름을 biggest_mini_ever 같은 걸로 바꿔서 읽어 보면 좀더 이해가 수월할지도 모릅니다.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)