🐣(75)
-
[그래프] 벨만-포드 / Bellman–Ford algorithm
Bellman–Ford algorithm 벨만-포드 알고리즘벨만-포드(Bellman-Ford) 알고리즘은 그래프에서 음의 가중치를 허용하면서 단일 출발점 최단 경로를 찾는 알고리즘입니다. 이 알고리즘은 다익스트라 알고리즘과는 달리 음의 사이클을 탐지할 수 있는 특성 때문에 특정 문제들(예: 네트워크에서 음의 가중치가 있는 경로 등)을 해결하는 데 유용합니다.벨만-포드 알고리즘의 특징시간 복잡도: O(V * E), 여기서 V는 정점의 개수, E는 간선의 개수입니다. 따라서, 다익스트라보다 느리지만 음의 가중치를 포함할 수 있다는 장점이 있습니다.음의 가중치: 음의 가중치를 허용합니다. 다익스트라와 달리, 음의 사이클이 있을 때도 탐지할 수 있습니다.음의 사이클 탐지: 벨만-포드는 그래프에 음의 사이클이 존..
2024.10.01 -
12100 swift / c++ - 2048 (Easy)
문제 개요는 2048게임을 구현하는 것.입력첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다.출력최대 5번 이동시켜서 얻을 수 있는 가장 큰 블록을 출력한다. 접근 방법. 4방향으로 합치고, 미는 dfs의 방법을 통해. 5번 할 수 있는 모든 방법을 찾아낸 뒤. 최대값으로 출력. 더보기/* ************************************************************************** *//* ..
2024.09.23 -
6603 swift - 로또
어떻게든 조합으로 풀어보려고 노력.조합은 여기 [Swift] 순열 / permutation / 조합 / combinationfunc permutation(_ target: [String], _ targetNum: Int) { var result: [[String]] = [] var check = [Bool](repeating: false, count: target.count) func permute(_ arr: [String]) { if arr.count == targetNum { result.append(arr) return } for i in 0..chanhhh.tistory.com문제 개요는 이것.7 1 2 3 4 5 6 78 1 2 3 5 8 13 21 340input의 첫번째 숫자만큼 수가 주어..
2024.04.28 -
[Swift] 순열 / permutation / 조합 / combination
func permutation(_ target: [String], _ targetNum: Int) { var result: [[String]] = [] var check = [Bool](repeating: false, count: target.count) func permute(_ arr: [String]) { if arr.count == targetNum { result.append(arr) return } for i in 0.. 위의 코드는 메모리초과가 날 위험이 있다. let arr = ["1", "2", "3", "4"]let n = arr.countvar..
2024.04.21 -
[DP] 타뷸레이션
보호되어 있는 글입니다.
2024.03.21