코딩 테스트/Level 2

프로그래머스 / 두 원 사이의 정수

컴닥 2023. 4. 15. 15:54
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181187

파이썬

def solution(r1, r2):
    answer = 0
    pow_r1, pow_r2 = r1 ** 2, r2 ** 2
    for y in range(1, r2 + 1):
        temp1 = pow_r1 - y ** 2
        if temp1 >= 0:
            temp2 = temp1 ** 0.5
            x1 = int(temp2) - (1 if temp2 == int(temp2) else 0)
        else:
            x1 = -1
        answer += int((pow_r2 - y ** 2) ** 0.5) - x1
    return answer * 4

 

 

반응형