더북(TheBook)

이제 120이 들어오면 기존 최고값 100보다 크므로 최고값은 120이 된다. 따라서 120을 리스트에 추가한다. 마찬가지로 130도 최고값이므로 리스트에 추가한다.

다음에 들어온 100은 최고값 130보다 작다. 그러므로 100이 아닌 130을 리스트에 한 번 더 추가한다. 마찬가지로 65도 130보다 작다. 65 대신 다시 130이 리스트에 추가된다.

이런 패턴은 140이 나오기 전까지 계속되고 140, 160은 최고값을 연속으로 갱신하므로 140과 160이 리스트에 추가된다. 결국 cumsum([100, 120, 130, 100, 65, 80, 100, 120, 140, 160])의 결과는 [100, 120, 130, 130, 130, 130, 130, 130, 140, 160]이 된다.

▲ 그림 2-7 cumsum 함수와 np.maximum.accumulate 함수의 동작 원리

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.