한 사분면만을 구하고, *4를 통해 최종 값을 구해야한다
-> 이 때, 2중 for문을 통해 계산하게 되면 r2, r1이 1000000 이하이기 때문에 TLE를 받는다
x축을 기준으로 순회하는 방식으로 풀었다
원의 방정식: y = sqrt(r^2 - x^2)
1) 일단 0부터 r1-1까지 순회하며, r1과 r2가 겹친 부분을 계산해준다
-> y2을 r2안에 있는 y좌표, y1를 r1안에 있는 y좌표라고 하면, y2 - y1이 r1과 r2가 겹친 부분의 좌표 개수가 된다
2) r1부터 r2-1까지 순회하며, r2만 있는 부분을 계산해준다
from math import sqrt
def solution(r1, r2):
max_r = r2
count = 0
# x축 기준으로 순회
for x in range(r1):
count += int(sqrt(abs(r2**2 - x**2))) - int(sqrt(abs(r1**2 - x**2 - 1)))
for x in range(r1, r2):
count += int(sqrt(abs(r2**2 - x**2)))
return count * 4