일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백트래킹
- 스프링 시큐리티
- 게이트웨이
- 유레카
- 비트마스킹
- 트리
- 이분 탐색
- Spring Cloud Config
- BFS
- 주울
- spring cloud
- 메모이제이션
- dp
- 플로이드 와샬
- 다익스트라
- 구간 트리
- 서비스 디스커버리
- 구현
- spring boot
- Zuul
- Logback
- 도커
- 달팽이
- Gradle
- docker-compose
- Java
- 이분 매칭
- 스택
- ZuulFilter
- 완전 탐색
- Today
- Total
목록트리 (3)
Hello, Freakin world!
www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망�� www.acmicpc.net 문제 풀이 얼리 어답터(EA)를 이용해 모든 아이디어를 퍼트리기 위해서는 다음의 규칙이 필요합니다. 1. 현재 노드가 EA인 경우 - 자식 노드가 EA인 경우 - 자식 노드가 EA가 아닌 경우 2. 현재 노드가 EA가 아닌 경우 - 모든 자식 노드가 EA여야 한다. 위의 규칙을 적용해 트리 구조에서 재귀를 이용해 해결할 수 있습니다. 재귀를 이용해 구현할 때, 리프노드에서의 종결 조건과 맞물려서 최소값..
www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 단순히 DFS 한 번에 풀 수 있는 문제인 줄 알았지만, 처리해야될 예외 사항이 좀 있습니다. 각 서브트리 루트에 리프노드의 개수를 저장하는 알고리즘이 있다고 합시다. 그 알고리즘을 이용해 위와 같은 결과를 만들어 냈습니다. 여기서 2번 노드를 지우려면 루트 노드의 값(3)에서 2번 노드의 값(1)을 빼면 답이 됩니다. 하지만... 다음의 경우는 어떨까요? 위에서 1번 노드를 제거하면 값이 0이 되어버립니..
www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 이 문제를 풀면서 너무 아쉬웠다. 아마 10월 코드 챌린지 3번과 비슷한 문제가 아닌가 싶었다. 트리 부분을 너무 소홀히했다. 크 3솔이 눈에 아른거린다. 풀이 방법은 트리를 순회하면서 현재 노드를 기점으로 가장 긴 간선을 계산하고 자손의 수에 따라 가장 큰 2개나 한개를 현재 노드가 중심이 되는 지름이라고 한다. 아 이게 말로 설명하기는 조금 버겁다. 재귀를 이해한다면 코드를 보는게 낫다...