[프로그래머스] 두 원 사이의 정수 쌍

최동혁·2023년 5월 12일
0

1일 1코테 이상

목록 보기
10/10

풀이

  1. 바깥 원의 안쪽 좌표 중 가장 max y 값 구하기
  2. 안쪽 원의 바깥쪽 좌표 중 가장 min y 값 구하기
  3. x축 y축 전부 대칭이여서 4개의 좌표가 같다. x값이 1부터 r2까지 좌표들의 4배가 모든 좌표의 갯수이다.

코드

import math
def solution(r1, r2):
    answer = 0
    
    for x in range(1, r2 + 1):
        green_inside_y = math.floor(math.sqrt(r2 ** 2 - x ** 2))
        blue_outside_y = math.ceil(math.sqrt(r1 ** 2 - x ** 2)) if r1 > x else 0
        
        answer += green_inside_y - blue_outside_y + 1
        
    return answer * 4
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글