728x90
문제설명
입력 & 출력
나의 풀이
문제 접근 방법
"백준 - 터렛" 문제는 두 점 사이의 거리 공식을 알고 있다면 어렵지 않게 풀 수 있는 문제입니다.
저도 기억이 나질 않아서 위 포스팅으로 정리를 해봤습니다.
문제에서 나온 이름(조규현, 백승환)은 좀 헷갈리기 때문에 간단하게 A와 B로 부르겠습니다.
문제에서는 A와 B의 위치가 주어지고, 목표 C까지의 거리가 주어집니다. A를 빨간색, B를 파란색으로 표현하면 위와 같은 6개의 경우의 수가 존재하고, 두 점사이의 거리를 알 수 있습니다.
여기서 두 원의 중심 사이의 거리 dd와 반지름 r1r₁, r2r₂는 다음을 의미합니다:
- d : 두 원의 중심 사이의 거리 d = √[(x₂ - x₁)² + (y₂ - y₁)²]
- r₁ : 첫 번째 원의 반지름 (조규현의 원)
- r₂: 두 번째 원의 반지름 (백승환의 원)
따라서 두 원의 중심 사이의 거리 d와 반지름 r₁, r₂의 관계를 비교하면, 두 원의 위치 관계와 만나는 점의 개수를 쉽게 판단할 수 있습니다.
경우의 수를 정리하자면 :
- -1
- d = 0 그리고 r1 = r2
- 0
- d > r1 + r2 또는 d < ∣r1−r2∣
- 1
- d = r1 + r2 또는 d = ∣r1−r2∣
- 2
- ∣r1−r2∣ < d < r1+r2
전체 코드
'Coding Test > 백준' 카테고리의 다른 글
[백준, 1654번] 랜선 자르기 (이진 탐색, 이분 탐색, Java) (0) | 2024.12.31 |
---|---|
[백준, 2805번] 나무 자르기 (이진 탐색, 이분 탐색, Java) (0) | 2024.12.30 |
[백준, 1541번] 잃어버린 괄호 (Java) (0) | 2024.12.21 |
[백준, 1912번] 연속합 (다이나믹 프로그래밍, DP, 수열, Java) (0) | 2024.12.21 |
[백준, 1932번] 정수 삼각형 (DP, 다이나믹 프로그래밍, Java) (1) | 2024.12.20 |