본문 바로가기
반응형

알고리즘211

[알고리즘] 미로 만들기 포인트 미로를 만드는 만드는 방법? 벽을 몇개를 부수고 들어가야 하는 가? 를 묻는 문제 입니다. 저는 이를 다익스트라 알고리즘 (이진 힙) 을 적용하여 해결하였습니다. 다익스트라 알고리즘은 시간 복잡도 O(E + VlogV) 가집니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python import heapq n = int(input()) data = [list(input()) for _ in range(n)] q = [] distance = [[987654321] * n for _ in range(n)] distance[0][0] = 0 q.append((0, 0, 0)) dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] while q: cost, x, y = hea.. 2021. 6. 16.
[알고리즘] 암호 만들기 포인트 백트랙킹을 이용하여서 암호를 조합하는 문제 입니다. 문제 조건에서는 모음 1개 자음 2개 이상을 조건으로 갖고 있어 이를 해결하기 위해 재귀함수의 파라미터로 정의하여 사용하였습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python n, m = map(int, input().split()) data = input().split() data.sort() answer = set() sel = [] def go(index: int, cnt: int, one: int, two: int) -> None: global answer if cnt == n: if one >= 1 and two >= 2: answer.add(''.join(sel)) return if index >= len(dat.. 2021. 6. 10.
[알고리즘] Max Area of Island 포인트 주어진 지도에서 섬들이 여러 개가 있다. 이 중에 제일 큰 섬의 크기를 구하라. 가 쟁점입니다. 그러면 섬의 크기는 어떻게 구할까요? 섬의 크기는 BFS 알고리즘을 이용하여 1 인 지점을 순회를 하면서 방문 배열의 표시를 해주면서 섬의 크기를 늘려가는 방식으로 구해줍니다. 어떻게 보면 너비 우선 탐색에 제일 기본형일고 할 수 있습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def bfs(self, row: int, col: int, visited: list, n: int, m: int, grid: list) -> int: q = deque() q.append([row, col]) visited[row][col] = 1 cnt = 1 dx .. 2021. 6. 1.
[알고리즘] 코딩 테스트를 위해 알아야 하는 문제들 먼저 이 글은 복수 전공자 및 비전공자 분들을 위한 글입니다. (물론 전공자 분들이 보셔도 됩니다) 저는 복수 전공자로서 코딩 테스트가 막막함이 있어 이것을 해결하고자 적어보는 글입니다. 알고리즘 목록 완전검색 - 브루트포스 순열 (next_permutation) > stl 조합 (재귀) 비트 마스크 비트 마스크 #include #include using namespace std; vector a; int main(){ int n, m; cin>>n>>m; a.resize(n); for(int i=0; i>a[i]; int answer = 0; for(int i=1; i 2021. 5. 17.
반응형