-코드
from math import sqrt
for _ in range(int(input())):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
d = sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
if d == 0 and r1 == r2:
print(-1)
elif r1 + r2 < d or max(r1, r2) > d + min(r1, r2):
print(0)
elif d == r1 + r2 or max(r1, r2) == min(r1, r2) + d:
print(1)
else:
print(2)
처음에 2 1 0 출력이 어떻게 나오는지 몰라서 찾아보니 원의 내접과 외접 등에 따라서 나오는 것이었습니다. 그래서 수식을 참고하여 만들었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 5800번 성적 통계 (0) | 2021.12.14 |
---|---|
[백준/파이썬] 4999번 아! (0) | 2021.12.14 |
[백준/파이썬] 2669번 직사각형 네개의 합집합의 면적 구하기 (0) | 2021.12.13 |
[백준/파이썬] 23825번 SASA 모형을 만들어보자 (0) | 2021.12.13 |
[프로그래머스/파이썬] 소수 찾기 (0) | 2021.12.12 |