이진탐색2 ❗️[Baekjoon] 1939. 중량제한 ( 이진 탐색 ) # Problem N(2≤N≤10,000)개의 섬으로 이루어진 나라가 있다. 이들 중 몇 개의 섬 사이에는 다리가 설치되어 있어서 차들이 다닐 수 있다. 영식 중공업에서는 두 개의 섬에 공장을 세워 두고 물품을 생산하는 일을 하고 있다. 물품을 생산하다 보면 공장에서 다른 공장으로 생산 중이던 물품을 수송해야 할 일이 생기곤 한다. 그런데 각각의 다리마다 중량제한이 있기 때문에 무턱대고 물품을 옮길 순 없다. 만약 중량제한을 초과하는 양의 물품이 다리를 지나게 되면 다리가 무너지게 된다. 한 번의 이동에서 옮길 수 있는 물품들의 중량의 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N, M(1≤M≤100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1≤.. 2021. 4. 19. [코딩 + 알고리즘 완주반] 19일차. 이진탐색( Binary Search ), 순차탐색 ( Sequential Search ) # 이진 탐색 탐색할 자료를 둘로 나누어 해당 데이터가 있을만한 곳을 탐색하는 방법 # 분할 정복 알고리즘 divide : 문제를 하나 또는 둘 이상으로 나눈다 conquer : 나눠진 문제가 충분히 작고 해결이 가능하다면 해결하고, 그렇지 않으면 다시 나눈다 # 이진탐색 divide : 리스트를 두 개의 서브 리스트로 나눈다 conquer : 검색할 숫자 > 중간값이면 뒷부분의 서브 리스트에서 검색할 숫자를 찾는다 검색할 숫자 < 중간값이면 앞부분의 서브 리스트에서 검색할 숫자를 찾는다 # 알고리즘 구현 def binary_search(data, search): print (data) if len(data) == 1 and search == data[0]: return True if len(data) .. 2021. 4. 5. 이전 1 다음 반응형