본문 바로가기
반응형

Algorithms119

[알고리즘] 최단거리 알고리즘 - 플로이드 와샬 알고리즘 포인트 플로이드 와샬 알고리즘은 최단거리를 구하는 알고리즘으로 모든 점에서 모든 점에 최단 거리를 구해주는 알고리즘 입니다. 단, 그래프 내부에 음수 사이클이 있는 경우 최단 거리를 구할 수 없습니다. dp (다이나믹) 을 활용하여 시간 복잡도 O(n^3)에서 문제를 해결합니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python # 플로이드 와샬 알고리즘 O(n^3) 에 문제를 해결할 수 있으면, # dp 를 사용하여 모든 점에서 모든 점 최단 거리를 구해준다. # 음수 사이클이 있는 경우 구할 수 없다. (벨만 포드와 똑같다.) INF = 987654321 data = [ [0, 5, INF, 8], [7, 0, 9, INF], [2, INF, 0, 4], [INF, INF, 3, 0.. 2021. 4. 28.
[알고리즘] rotate image 포인트 시계 방향과 반시계 방향을 적용할 수 있는가? 를 물어보는 문제 입니다. python 에서는 zip 을 사용해서 하는 방법도 있지만, 이 방법도 유용하니 잘 사용해보면 좋을 것 같습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 시계 방향 matrix = matrix[::-1] n = len(matrix) for row in range(n): for col in range(row + 1, n): matrix[row][col], matrix[col][row] = matrix[col][row], matrix[row][col] print(matrix) matrix = [[1, 2, 3], [4, .. 2021. 4. 25.
[알고리즘] 게리맨더링 먼저 방문자 수 900명을 축하합니다. (정말 부족한 글인데도) 정보로 받아들일 수 있게끔, 쓰려고 노력하는데 잘 되지가 않네요. 포인트 문제의 포인트는 2가지 입니다. (조합, BFS) 사실 이 조합이 구현 문제들에서 잘 나오더라구요. 또, 조합은 2개의 그룹으로 나누기 때문에, n//2+1 이라는 점도 알고 지나가셨으면 좋겠습니다. 주요 흐름은 그룹 1을 재귀 적으로 찾고 포함하지 않는 그룹 1을 포함하지 않는 원소들의 집합인 그룹 2를 정의합니다. 그리고 BFS 를 통해서 연결되었음을 확인합니다. 만약 연결 되어 있지않으면 return 을 시켜서 상태 공간 트리에서 더이상 탐색을 하지 않도록 합니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python from collections .. 2021. 4. 21.
[알고리즘] 캐슬 디펜스 포인트 조합(궁수의 위치), 움직임, 사냥 을 어떻게 구현을 하는냐가 요점인것 같습니다. 사실 여타 구현 문제에서도 그렇지만 중복된 것을 단일 처리하는 등의 요령이 필요합니다. 그래서 일부 테스트 케이스는 맞지만 다른 것들은 틀릴 수 있는 그런 것들 입니다. 문제를 꼼꼼히, 어떻게 유기적으로 연결하는가가 핵심이네요 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. c++/cpp #include #include #include #include #include using namespace std; typedef struct { int x; int y; int Dist; } enemy; int n, m, d, answer, temp; int map[16][16]; int cmap[16][16]; bool.. 2021. 4. 20.
반응형