CS/알고리즘

    [알고리즘] 백준 1012 파이썬 풀이

    유기농 배추 흔하게 보이는 문제 패턴입니다. 1은 배추가 있는 장소이고 배추가 붙어있다면 배추흰지렁이는 한마리가 필요합니다. 결국, 배추 무더기의 개수를 묻는 문제입니다. 처음 다음과 같이 풀이했습니다. t = int(input()) for _ in range(t): count = 0 m, n, k = map(int, input().split()) graph = [[0] * n for _ in range(m)] for _ in range(k): x, y = map(int, input().split()) graph[x][y] = 1 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def dfs(x, y): if x = m or y >= n or grap..

    [알고리즘] 재귀함수와 반복문을 이용한 이진탐색

    이진탐색은 데이터가 정렬된 경우에만 사용가능합니다. 1. 재귀를 이용한 이진탐색 def binary_search(array, target, start, end): if start > end: return None mid = (start + end) // 2 # 찾은 경우 중간점 인덱스 반환 if array[mid] == target: return mid # 중간점의 값보다 찾고자 하는 값이 작은 경우 왼쪽 확인 elif array[mid] > target: return binary_search(array, target, start, mid - 1) # 중간점의 값보다 찾고자 하는 값이 큰 경우 오른쪽 확인 else: return binary_search(array, target, mid + 1, end)..