DFS - 깊이 우선 탐색, BFS - 너비 우선 탐색 DFS: 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘그래프는 노드와 간선으로 표현되며, 두 노드가 간선으로 연결되어 있을 시 인접하는 것 DFS는 주로 스택 자료구조를 이용한다. BFS: 가까운 노드부터 탐색하는 알고리즘, 주로 큐 자료구조 사용 1012 유기농 배추 import sys sys.setrecursionlimit(10000) t = int(input()) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def dfs(x, y): # 깊이우선탐색 for i in range(4): nx = x + dx[i] ny = y + dy[i] if nx=m or ny=n: continue elif graph[ny][nx] ..
그리디 알고리즘 Greedy = 탐욕 말 그대로 각 단계에서 가장 욕심을 부려서 최선의 선택을 하는 것 근데 이게 결과적으로 최선의 선택으로 통하는 경우 / 통하지 않는 경우가 있다. 당연히 그리디 알고리즘은 이 탐욕법이 통하는 문제에 쓰는 것 1417 국회의원 선거 오랜만에 알고리즘 하니까 머리가 안돌아간다... A = 다솜, B, C 총 3명의 후보가 있다 치고, A: 5, B: 7, C: 7 A+B+C = 19, 19/3 = 6.xxx.... 대충 반올림하면 7 이고 -5 하면 2 이렇게 생각해봤다 (사실 더 생각하기 귀찮았다) 근데 후보 1명이면 어칼려고....... 당연히 틀렸다. 그래서 다시 생각을 해봤다. A 기준 B, C 를 정렬하면 5 < 7, 7 한명을 매수하면 6 | 6, 7 다시 정..