Loading...

[Algorithm] 이분탐색(Binary Search) vs 매개변수 탐색(Parametric Search)

# 요즘 스터디에서 이분탐색을 주제로 한 문제들을 풀다 내가 풀이 하고 있는 방식이 '이분탐색'이 아니라는 것을 깨달았다. 아예 다른 것은 아니지만, 엄밀히 따지자면 '매개변수 탐색'이라는 분류가 따로 존재했다. # 이분탐색은 '정렬된 배열'에서 target의 존재여부와 존재한다면 위치를 알려주는 알고리즘이다. 우리가 찾는 target이 배열 안에 존재한다면, 그 위치를 알려준다는 것이다. # 하지만, 'target과 정확히 일치하는 값' 이 존재하지 않는다면?? -> 우리는 parametric search를 통해 최적화된 값을 찾을 수 있다. # Parametric Search는 최적화 문제를 결정 문제로 풀 수 있는 기술이다. '최적화 문제'니 '결정 문제'니 다 처음 들어보는 말이어서 어려울 수 있..

[Python] BOJ 1654 - 랜선 자르기(Binary Search)

https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 후 K줄에 걸쳐 이미 가지고 있는 각 랜선의 길이가 센티미터 단위의 정수로 입력된다. 랜선의 길이는 231-1보다 작거나 같은 자연수이다. www.acmicpc.net 이분 탐색문제이다(함정이 있는) import sys input = sys.stdin.readline N,M = map(int,input().split()) L = [] for _ in range(N): L.append(int(inp..