정코딩
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 1167 트리의 지름 JAVA

    2021. 11. 16.

    by. soonil

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

     

    1167번: 트리의 지름

    트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지

    www.acmicpc.net

     

     

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

     

    GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드

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

    github.com

     

     

    해당 문제는 트리 정보가 주어졌을 때 트리의 정점 간 거리가 가장 먼값을 구하는 문제다.

    ​

    처음에 dfs 하나를 이용해서 방문 체크로 확인하면 되겠다 생각했더니

    값이 12 가 나왔고, 생각해 보니 dfs가 두 개 필요하다 생각했고,

    ​

    문제를 고민하던 중 친구가 힌트를 던져줘서 생각해 보다가 해결할 수 있었다.

    ​

    힌트 내용은 시작에서 끝까지 가고 나서 다시 끝에서 시작하면 된다였고,

    ​

    테케를 그림으로 그려 생각해 보면 어느 정점에서 가정 먼 점을 가면 그 점은

    해당 트리에서 가장 먼 점 2곳 중 하나인 것을 알게 되었고,

    처음 dfs는 1에서 출발해서 가장 먼 곳을 찾도록 하여서 그 정점을 저장해 주었고

    이후 dfs에서는 찾은 정점에서 시작해서 가장 먼 정점으로 가도록 해서

    최종 값을 찾도록 하였다.

    728x90

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

    Baekjoon 9375 패션왕 신해빈 JAVA  (0) 2021.11.16
    Baekjoon 2206 벽 부수고 이동하기 JAVA  (0) 2021.11.16
    Baekjoon 1520 내리막 길 JAVA  (0) 2021.11.16
    Baekjoon 1965 상자넣기 JAVA  (0) 2021.11.16
    Baekjoon 13414 수강신청 JAVA  (0) 2021.11.15

    댓글

    관련글

    • Baekjoon 9375 패션왕 신해빈 JAVA 2021.11.16
    • Baekjoon 2206 벽 부수고 이동하기 JAVA 2021.11.16
    • Baekjoon 1520 내리막 길 JAVA 2021.11.16
    • Baekjoon 1965 상자넣기 JAVA 2021.11.16
    맨 위로
전체 글 보기
  • Baekjoon
  • Solved
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
soonil

티스토리툴바