정코딩
Home
  • 분류 전체보기 (421)
    • 알고리즘 (382)
      • Baekjoon (301)
      • SW Academy (39)
      • JUNGOL (7)
      • 프로그래머스 (33)
    • CS (4)
      • 알고리즘 (1)
    • 공부 (19)
      • JAVA (6)
      • BackEnd (4)
      • FrontEnd (3)
      • 프로젝트 (6)
    • 일상 (16)
      • 기타 (16)
Home
  • 분류 전체보기 (421)
    • 알고리즘 (382)
      • Baekjoon (301)
      • SW Academy (39)
      • JUNGOL (7)
      • 프로그래머스 (33)
    • CS (4)
      • 알고리즘 (1)
    • 공부 (19)
      • JAVA (6)
      • BackEnd (4)
      • FrontEnd (3)
      • 프로젝트 (6)
    • 일상 (16)
      • 기타 (16)
블로그 내 검색
Portfolio

정코딩

동의대학교 컴퓨터공학과 SSAFY 6기

  • 알고리즘/Baekjoon

    Baekjoon 1002 터렛 JAVA

    2021. 11. 5.

    by. soonil

    해당 문제는 이제 약간 좌표 관련된 문제를 풀어보려고 예전에 한번 문제를 본 게 기억이나 해결하기 위해 시도해 보았으며, 구글링을 통해 어떤 식으로 문제들을 풀었는지를 먼저 확인한 다음에 문제를 해결해 보았다.

    https://www.acmicpc.net/problem/1002

     

    1002번: 터렛

    각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

    www.acmicpc.net

    https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%201002

     

    GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드

    JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.

    github.com

     

    문제는 두 명의 좌표가 주어지고 적과의 거리가 주어젔을때 적이 있을 수 있는 좌표의 개수를 출력하는 프로그램을 작성하는 것이다.

    ​

    조건

    위치의 개수가 무한대일 경우에는 -1 출력

    ​

    처음에는 문제를 뭐 좌표 간에 거리랑 그런 걸 파악해서 해결해야 할 것 같다는 생각은 하고 접근은 해보았지만 도저히 내 머리론 해결 못할 거 같아서 구글링을 통해 사람들이 어떻게 풀어왔는지 보았는데 이 문제는 각 좌표가 원의 중심이고 거리가 반지름인 원 두 개의 접점 여부로 해결하는 문제인 걸 확인했다.

    ​

    경우의 수는 이제 아래 사진과 같다.

    두 원이 겹치는 경우는 x1==x2&&y1==y2&&r1==r2로 체크해 주면 되고 두 원이 외부에서 안 겹칠 땐 두 원 중심 좌표 거리가 두 원의 반지름 합보다 클 경우로 체크해 주고, 내부에서 안 겹칠 땐 좌표 거리가 두 원의 반지름 차보다 작을 경우로 체크해 준다.

    ​

    두원이 외부에서 겹칠 경우에는 좌표 거리가 두 원의 반지름 합과 같을 경우로 체크해 주고, 두원이 내부에서 겹칠 경우는 좌표 거리가 두 원의 반지름 차와 같을 경우로 체크해 주면 된다.

    ​

    이후 나머지 모든 부분은 두원이 두개로 겹칠 때이므로 간단하게 해결 가능하다.

    728x90

    '알고리즘 > Baekjoon' 카테고리의 다른 글

    Baekjoon 1912 연속합 JAVA  (0) 2021.11.05
    Baekjoon 1049 기타줄 JAVA  (0) 2021.11.05
    Baekjoon 11399 ATM JAVA  (0) 2021.11.05
    Baekjoon 9095 1, 2, 3 더하기 JAVA  (0) 2021.11.05
    Baekjoon 1929 소수 구하기 JAVA  (0) 2021.11.05

    댓글

    관련글

    • Baekjoon 1912 연속합 JAVA 2021.11.05
    • Baekjoon 1049 기타줄 JAVA 2021.11.05
    • Baekjoon 11399 ATM JAVA 2021.11.05
    • Baekjoon 9095 1, 2, 3 더하기 JAVA 2021.11.05
    맨 위로
전체 글 보기
  • Baekjoon
  • Solved
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
soonil

티스토리툴바