Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- BFS
- 플로이드-워셜
- 2357
- 문자열
- 수학
- 그래프
- 싸피
- 브루트포스
- boj
- 해시 테이블
- 슬라이딩 윈도우
- 트리
- 이분 탐색
- 13164
- 정렬
- 맵
- 정수론
- DP
- 애드 혹
- SSAFY
- 구현
- 그리디
- DFS
- JavaScript
- Python
- 투 포인터
- 에라토스테네스의 체
- 누적 합
- 세그먼트 트리
- 모던 JavaScript 튜토리얼
Archives
- Today
- Total
목록뉴스 전하기 (1)
흙금이네 블로그

아이디어 DFS로 말단 직원에서부터 자신의 부하들에게 전화하는 데 걸리는 가장 긴 시간을 DP로 구해 나간다. 풀이 상사 번호를 리스트 P에 저장하고, 부하 직원의 번호를 상사 번호에 맞게 2차원 리스트 child에 저장한다. 함수 dfs에서는 자식 노드들을 탐색하여 구한 자식 노드에서 가장 오래 걸리는 시간을 빈 리스트 temp에 추가한다. 내림차순 정렬한 temp의 각 요소들과 그 순번을 더한 값 중 최댓값을 해당 노드에서 가장 오래 걸리는 시간으로 저장한다. 리프 노드에서는 자식 노드가 없어 temp가 빈 리스트이므로 for문과 if문 진입 없이 함수가 종료된다. 0번 직원부터 함수 dfs를 호출한 후 0번 직원의 dp 테이블에 저장된 결과값을 출력한다. def dfs(idx): temp = [] ..
알고리즘
2023. 1. 31. 23:57