본문 바로가기
반응형

python142

[알고리즘] 음양 더하기 포인트 절댓값 리스트와 sign 등의 시그널을 통해서 더하거나 빼면서 값을 찾아주는 문제입니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def solution(absolutes: list, signs: list) -> int: answer = 0 for one, two in zip(absolutes, signs): if two: answer += one else: answer -= one return answer print(solution([4, 7, 12], [True, False, True])) print(solution([1, 2, 3], [False, False, True])) 2021. 4. 29.
[알고리즘] 최단거리 알고리즘 - 플로이드 와샬 알고리즘 포인트 플로이드 와샬 알고리즘은 최단거리를 구하는 알고리즘으로 모든 점에서 모든 점에 최단 거리를 구해주는 알고리즘 입니다. 단, 그래프 내부에 음수 사이클이 있는 경우 최단 거리를 구할 수 없습니다. 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.
반응형