시작하기무료로 시작하기

시간 측정 I

강의 슬라이드에서 time.time() 함수를 불러와 기본적인 수학 연산을 수행하는 데 걸리는 시간을 측정하는 방법을 보셨죠.

이제 같은 전략을 사용해 비슷한 문제를 푸는 두 가지 방법을 비교해 보겠습니다. 문제는 1부터 100만(1,000,000)까지의 모든 양의 정수에 대한 제곱의 합을 계산하는 것입니다.

영상에서 본 것처럼, 하나는 완전탐색(브루트 포스) 방식이고 다른 하나는 더 수학적으로 정교한 방식의 두 방법을 비교합니다.

formula 함수에서는 다음의 표준 공식을 사용합니다.

$$ \frac{N*(N+1)(2N+1)}{6} $$

여기서 N=1,000,000입니다.

brute_force 함수에서는 1부터 100만까지 각 숫자를 순회하며 결과에 더합니다.

이 연습은 강의의 일부입니다

pandas로 효율적인 코드 작성하기

강의 보기

연습 안내

  • formula() 함수를 사용해 문제의 결과를 계산하세요.
  • formula() 함수를 사용해 결과를 계산하는 데 걸린 시간을 출력하세요.
  • brute_force() 함수를 사용해 문제의 결과를 계산하세요.
  • brute_force() 함수를 사용해 결과를 계산하는 데 걸린 시간을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))

# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))
코드 편집 및 실행