+=의 중요성

shong1332·2021년 6월 17일
0

프로토타입

목록 보기
2/3

다른게 아니다 나는 이게 이해가 안됬다.

input = [0, 3, 5, 6, 1, 2, 4]

def find_max_plus_or_multiply(array):
    multiply_sum = 0
    for number in array:
        if number <= 1 or multiply_sum <= 1:
            multiply_sum += number
        else:
            multiply_sum *= number
    return multiply_sum

result = find_max_plus_or_multiply(input)
print(result)

인풋의 숫자를 곱하거나 더해서 가장 큰 값을 얻는 알고리즘이라는데..

한눈에 얼핏 읽고 이해하기론

  1. 인풋을 지정하고
  2. 시작값을 0으로 지정하고
  3. number에 숫자를 돌려 담는다.
  4. 담는 중 만약 number의 숫자가 1보다 같거나 작거나 혹은 multiply_sum이 1보다 같거나 작으면 더해주고
  5. 그게 아니면 곱해준다.
  6. 그래서 그 값을 리턴해주고
  7. 프린트 한다.

이 간단하고 단순한 코드에 내가 가진 궁금증은 이거다.
곱하든 더하든 그 값이 multiply_sum에 저장이 되야 되는거 아닌가 하는 궁금증인데

multiply_sum += number

이걸 풀어쓰면 multiply_sum = multiply_sum+ number 라는 사실을 잊은것이다.

즉, multiply_sum 와 number를 더한 값이 다시 multiply_sum 에 할당 된다는 식이 있단걸 잊었던 실수..

  1. 인풋을 지정하고
  2. 시작값을 0으로 지정하고
  3. number에 숫자를 돌려 담는다.
  4. 담는 중 만약 number의 숫자가 1보다 같거나 작거나 혹은 multiply_sum이 1보다 같거나 작으면 더해주고
  5. 그게 아니면 곱해준다.
  6. 그래서 그 값을 multiply_sum에 다시 할당해주고
  7. for 문이 끝날때 최종 값을 리턴해주고 그값을
  8. 프린트 한다.

어렵ㄴ다.

profile
히히히

0개의 댓글