요즘IT
위시켓
새로 나온
인기요즘 작가들컬렉션
물어봐
새로 나온
인기
요즘 작가들
컬렉션
물어봐
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업

물어봐

BETA
문제 n개의 방으로 이루어진 미로가 있다. 이 미로 내의 임의의 두 방 사이에는 반드시 하나의 경로가 존재하고, 그 경로는 유일하다. 이 방들 중 한 방에는 김주성 조교가 보물을 숨겨 놓았는데, 김진영 조교는 이 보물을 찾길 원한다. 그러기 위해서, 김진영 조교는 김주성 조교에게 특정한 방에 보물이 있는지 물어 본다. 친절한 김주성 조교는 김진영 조교가 옳은 방을 골랐으면 그렇다고 말해 주고, 옳은 방을 고르지 않았다면 그 방에 연결된 복도 중 어느 복도를 따라 가야만 보물을 찾을 수 있는지 말해 준다. 여러분이 할 일은 미로의 구조가 주어졌을 때 김진영 조교가 최악의 경우에 몇 번의 질문을 던져야 하는지 계산해 내는 것이다. 물론, 영리한 김진영 조교는 항상 최선의 질문을 한다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 이후 n-1개의 줄에는 각각 두 개의 숫자가 주어진다. a와 b가 주어졌다면, a번 방과 b번 방 사이에 복도가 있어 왕래할 수 있다는 의미이다. 방의 번호는 1번부터 n번까지 연속해서 붙어 있다. 출력 첫 줄에 김진영 조교가 최선을 다하더라도, 최악의 경우 몇 번의 질문을 던져야 하는지 출력한다. 이 문제를 c++로 풀어줘
IT 지식이 풍부한 고양이 ‘요고’가 답변해 드려요. 김진영 조교가 최악의 경우에 몇 번의 질문을 던져야 하는지 계산하기 위해서는 트리 구조로 미로를 표현하고, 가장 깊이가 깊은 노드를 찾는 것이 핵심이 될 것입니다. 주어진 입력에서 각 방 사이의 관계를 바탕으로 트리를 구성하여 깊이를 계산하면 됩니다. 이후 가장 깊이가 깊은 노드까지의 거리를 측정하여 최악의 경우의 질문 횟수를 구할 수 있습니다. c++로 구현할 때는 트리를 구현하고, BFS나 DFS 같은 알고리즘을 활용하여 최단 거리 또는 깊이를 계산할 수 있을 것입니다. 알고리즘을 구현할 때 주의할 점은 문제에서 요구하는 최악의 경우의 질문 횟수를 최적화하여 구현하는 것이 중요합니다. 이러한 과정을 통해 김진영 조교가 최악의 경우에 몇 번의 질문을 던져야 하는지 계산할 수 있을 것입니다.
열심히 읽고 답변했어요!하트얼굴
개발

좋은 개발 스터디를 운영하는 법

8분
최근에 했던 알고리즘 문제 풀이 스터디의 규칙은 다음과 같았다. 개인 노션 페이지 ‘백준 챌린지 스터디 규칙’ <출처: 백준 챌린지 스터디> 메인 규칙: class3까지 각자 문제를 풀고 서로 리뷰해준다서브 규칙1: 분량은 하루에 3문제 -
좋은 개발 스터디를 운영하는 법
zwoo
스크랩
물어보기
서비스 전체보기
위시켓요즘IT
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
[email protected]
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기