
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net C++ 트리 트리에서 어느 한 노드를 루트노드로하는 서브트리를 모두 삭제할때 리프노드 개수를 구하는 문제 접근방법 벡터로 인접리스트를 구현하고, 부모노드 정보를 담고 있는 1차원 배열을 생성한다. 인접리스트를 탐색하면서 기존 트리에서의 리프노드 개수를 카운팅한다. 지울 노드를 큐에 넣고 그 하위의 노드들도 큐에 넣어 삭제해주면서 지우는 노드가 리프노드인 경우 기존 리프노드 개수 - 1 한다...
알고리즘 문제풀이
2021. 8. 26. 10:14
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 게임이론
- 가장 큰 수 Swift
- dp
- 이분탐색
- 투포인터
- 트리
- 최소힙
- 스택
- 프로그래머스
- 토마토
- 자바
- 백트래킹
- 가장 큰 수 프로그래머스
- Swift
- 수학
- BFS
- 파이썬
- c++
- 최단경로
- 알고리즘
- 그리디알고리즘
- 웹크롤링
- 정렬
- 최대힙
- 백준
- 브루트포스
- dfs
- 다이나믹프로그래밍
- 동적계획법
- 우선순위큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함