📖 문제
🧑🏻💻 풀이 과정
1) 문제 이해 및 접근
두 개의 점을 기준으로 하여 반지름이 주어졌을때, 두 개의 원이 그어지면 그 원이 접하는 점의 개수를 구해야 했습니다.
2) 알고리즘
- 수학
3) 풀이 코드
사용 언어 - Python
import sys
sys.stdin = open('input.txt')
T = int(sys.stdin.readline()) # 테스트 케이스 개수
for _ in range(T):
x1, y1, r1, x2, y2, r2 = map(int, sys.stdin.readline().split()) # 좌표와 반지름
distance = ((x1-x2)**2 + (y1-y2)**2)**0.5 # 두 점간의 거리
if x1 == x2 and y1 == y2 and r1 == r2: # 두 점이 같은 곳에 있고, 반지름도 같을때
print(-1)
elif distance == r1 + r2 or distance == abs(r1-r2): # 두 원이 외접 또는 내접일때
print(1)
elif abs(r1-r2) < distance < r1 + r2: # 두 원이 바깥에서, 안에서 영역이 서로 겹칠때
print(2)
else: # 두 원이 서로 만나지 않을때
print(0)
📝 결과 및 학습한 내용
1) 어려웠던 내용
특별히 없습니다.
2) 새롭게 학습한 내용
특별히 없습니다.
🔗 문제 링크
- https://www.acmicpc.net/problem/1002
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > Python' 카테고리의 다른 글
[프로그래머스] n진수 게임 (0) | 2022.03.06 |
---|---|
[프로그래머스] 메뉴 리뉴얼 (0) | 2022.03.05 |
[백준] 2268 수들의 합 7 (0) | 2022.03.03 |
[백준] 1939 중량제한 (0) | 2022.03.02 |
[프로그래머스] k진수에서 소수 개수 구하기 (0) | 2022.02.28 |
댓글