알고리즘 연습 + StringTokenizer 깊게 파보기
아스키코드 왓다리갓다리 하기
반복문 + dp (bottom up)
문제 >입력 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양방향 간선을 나타낸다. (1 ≤ u [] link 와 ArrayList link` 이 두개가 갑자기 헷갈렸다...
> 처음 코드 그래프를 탐색할때 흔히 쓰는 visited 배열을 사용하지 않고, nodeNumber를 찾는 방식으로 구현했었다. 입출력은 모두 잘 되지만 테스트 제출시 메모리 초과 에러가 발생하였다. 매 번 새로운 노드를 찾기 시작할때 마다 start node 인 1 부터 반복을 하여 메모리 과부화로 해당 에러가 발생한 것 같다. 수정한 최종 코드...
> 트리를 탐색하는 문제만 풀다가 트리가 주어지지 않고 순회 결과가 주어진 문제는 처음 접해봤다. 루트노드를 언제 방문하느냐에 따라서 다음과 같은 순회가 존재한다 전위 순회(프리오더): 루트 노드 -> 왼쪽 자식노드 -> 오른쪽 자식노드 중위 순회(인오더): 왼쪽 자식노드 -> 루트 노드 -> 오른쪽 자식노드 후위 순회(포스트 오더): 왼쪽 자식노드...
트리와 그래프, 순회와 탐색의 방식을 다시한번 복기해보는 문제
방문 여부를 체크할 수 있는 방법이 다양하다
graph (DFS + 방향벡터) 종결
풀이에 있어 아이디어가 얼마나 중요한가
visited는 boolean 고정이 아니다
다익스트라 알고리즘을 배우는 문제
hashmap 삽입 및 제거
규칙을 만족하는 최단 거리를 구하는 문제
모든 간선의 가중치가 0 또는 1일 때, BFS를 응용하거나 다익스트라 알고리즘을 사용하는 문제
나이트를 목적지까지 이동시키는 문제 (방향벡터)
시작점이 여러 개인 BFS 문제
토마토 문제의 3차원 버전