이진탐색

    [백준 파이썬] # 1654 랜선 자르기

    Silver III # 1654 랜선 자르기 링크 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 풀이 K, N = map(int, input().split()) lan = [int(input()) for i in range(K)] def bs(arr, target): start = 1 # zerodivisionerror 방지, 0 → 1 end = max(lan) while start = target: star..

    [백준 파이썬] # 1920 수 찾기

    Silver IV # 1920 수 찾기 링크 : https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이_재귀적 구현 N = int(input()) N_li = list(map(int, input().split())) M = int(input()) M_li = list(map(int, input().split())) N_li.sort() def binary_search(array, target, st..

    [이코테 자료구조] 5. 이진 탐색

    이진 탐색 알고리즘 by 나동빈님 링크 https://www.youtube.com/watch?v=94RC-DsGMLo&t=319s 순차 탐색 : 리스트 안에 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진 탐색 : 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 이진 탐색은 시작점, 끝점, 중간점을 이용해서 탐색 범위를 설정 단계마다 탐색 범위를 2로 나누는 것과 동일하므로 연산 횟수는 log2 N에 비례 이진 탐색은 탐색 범위를 절반씩 줄이며 시간복잡도는 O(logN)을 보장 소스코드 이진 탐색 : 재귀적 구현 # 이진 탐색 : 재귀적 구현 def binary_search(array, target, start, end): if start>end: r..