[BOJ] 백준 1865 웜홀 자바 (Java)
2024. 11. 3. 19:59
알고리즘/백준[BaekJoon]
링크 : https://www.acmicpc.net/problem/1865문제를 풀며 고민했던 점벨만-포드 알고리즘에서 변형해야 하는 부분이 뭐가 있을까?https://devstackingdocs.tistory.com/25 이 문제와 다른 점이 무엇일까?밟았던 단계벨만-포드 알고리즘에 대한 전형적인 문제로 알고리즘 구현 >> 틀렸습니다.모든 노드가 연결이 되어있다는 보장이 없다는 점을 발견해결방안은 2가지로 생각모든 노드를 시작점으로 적용해서 벨만-포드 알고리즘을 돌린다 >> 시간 초과 예상임의의 시작점에서 벨만-포드 알고리즘을 한번 돌려 음수 사이클을 확인하는 방법 >> DIST배열이 INF인 경우를 제하지 않으면 해결할 수 있다! >> But, 틀렸습니다.최단거리를 구하는 것이 아닌 음수 사이클을 확..
[BOJ] 백준 11657 타임머신 자바 (Java)
2024. 11. 2. 17:25
알고리즘/백준[BaekJoon]
링크 : https://www.acmicpc.net/problem/11657문제를 풀며 고민했던 점벨만-포드 알고리즘에서 어떻게 음수 싸이클을 판별할 것인가?벨만-포드 알고리즘의 구현은 어떻게 할 것인가?밟았던 단계벨만-포드 알고리즘에 대한 전형적인 문제로 알고리즘 구현 >> 출력초과출력 초과에 대한 결과로 당황.. 무슨 문제일까 고민N = 500, M = 500, 모든 간선의 가중치가 -10,000인 경우, Integer 배열에 최소 값인 -21억보다 작은 결과값이 만들어짐그 결과 D배열에 간선 합 값이 매우 큰 양의 정수로 변경findCycle 함수에서 저장되어있는 가중치 합이 이미 커서 변경하지 않는 벨만-포드 사이클로 인식 >> true값 리턴결과적으로 -1만 출력하는 것이 아닌 가중치 합들을 출..
[BOJ] 백준 24230 트리 색칠하기 자바 (Java)
2024. 11. 1. 00:10
알고리즘/백준[BaekJoon]
링크 : https://www.acmicpc.net/problem/24230문제를 풀며 고민했던 점트리 구현을 클래스를 사용해서 부모노드 정보와 자식 노드 정보를 저장해야하나?부모노드 정보를 어떻게 구해야하지?부모노드 정보를 dfs를 사용해서 조사를 한번 진행해야하나? >> 시간복잡도 n이라는 시간을 잡아먹는데?밟았던 단계클래스로 부모노드와 자식노드를 가지고 있는 정보를 만들고 이를 배열로 만들어 트리 구현 >> 시간초과클래스를 사용하지 않고 각각 일반 int배열로 만들어서 부모와 자식노드를 찾아놓자 >> 시간초과부모노드를 따로 찾을 필요 없이 ROOT가 1번부터니까 dfs로 부모노드 정보를 따로 전달해서 구현하면 되겠다색 배열과 다르면 자식노드 색칠하기 >> 시간초과자식 노드와 부모노드가 색이 다르면 ..