트리 2

트리의 지름을 구하는게 공식이 있다니... (#1167)

#1167 트리의 지름 https://www.acmicpc.net/problem/1167 문제를 풀이하는 과정이 너무 복잡했다. (결국 블로그 참고함) 다음 세 가지를 배울 수 있었다. 1. DFS 구현의 두 가지 방식(재귀 vs 스택)의 장단점결론부터 말하면, 스택으로 구현해야 메모리를 덜 사용한다.재귀로 짰더니 계속 메모리 초과가 났다. 2. 비트마스크로 visited를 처리하는 방법기존의 리스트나 셋을 사용해서 노드 방문 여부를 체크하는 것과 달리 비트마스크로 구현하면 메모리 사용량을 줄일 수 있다.쉽게 생각하면 기존에 [ 0, 1, 0, 1, 0, ... ] 이렇게 저장하던 visited 0/ 1을 그냥 붙여서 이진수로 표현하는 것이다.Ob01010... 되게 심플하다.따라서 원하는 인덱스 만큼 ..

난생 처음 풀어본 골드2 (뚝배기 깨짐)

#2250번 트리의 높이와 너비 https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 생각보다 어려운 문제가 아니라서 놀랬다. 난이도가 높아질수록 코드의 길이가 길어지는 듯 하다 그냥 조금씩 차분히 해나가면 된다. 아직은 내 머릿속에 있는 논리를 코드로 구현하는 능력이 많이 부족한 듯 하다. 더 많은 경험이 필요함을 느꼈다. import sys # 재귀 제한 설정 sys.setrecursionlimit(100000) input = ..

728x90