728x90
반응형
SMALL

2024/07/25 4

[Python] 2805번 나무 자르기

✏️ 문제 문제 파악이분 탐색을 사용해야 하는 거의 대표적인 문제!!!!!이분 탐색을 안 사용하면 보통.. 아니 대개 "시간 초과" 가 뜬다... ^^ 알고리즘이분 탐색매개 변수 탐색 코드n, m = map(int, input().split()) trees = list(map(int, input().split())) def binary_search(trees, target): left, right = 0, max(trees) while left mid: total += h - mid if total     ⭐️ 이분 / 이진 탐색에 대해 잘 모른다면?2024.07.25 - [알고리즘] - [알고리즘] 이분 / 이진 탐색 (Binary Search) 알고리즘

PS/BOJ 2024.07.25

[알고리즘] 이분 / 이진 탐색 (Binary Search) 알고리즘

이분 / 이진 탐색 (Binary Search) ?정렬된 리스트에서 특정 값을 찾는 데 사용되는 효율적인 알고리즘이다. 리스트의 중앙값과 목표 값을 비교하여 목표 값이 중앙값보다 작으면 리스트의 왼쪽 절반을 탐색하고 크면 리스트의 오른쪽 절반을 탐색하는 방식으로 진행된다. 이렇게 계속해서 리스트를 반씩 줄여 나가면서 값을 찾는다.  이분 / 이진 탐색 알고리즘의 단계초기화: 리스트의 처음과 끝 인덱스 설정반복 또는 재귀: 중앙값을 계산하고 이 값을 목표 값과 비교값 비교:목표 값 = 중앙값 → 해당 인덱스 반환목표 값 목표 값이 > 중앙값 → 리스트의 오른쪽 절반 탐색반복 종료: 리스트의 탐색 범위가 0이 되면 목표 값이 리스트에 없는 것으로 간주하고 탐색 종료 이분 / 이진 탐색 알고리즘의 시간 복잡도..

알고리즘 2024.07.25

[Python] 20115번 에너지 드링크

✏️ 문제 문제 파악양이 적은 에너지 드링크를 버리는 방향으로 하는 게 최대의 에너지 드링크 양을 만들 수 있다.그래서 에너지 드링크를 담은 배열을 오름차순 정렬한 후 마지막에 있는 양이 제일 많은 에너지 드링크를 버리지 않는 에너지 드링크로 해서 풀면 쉽게 풀 수있다. 알고리즘그리디 알고리즘 코드n = int(input())drinks = list(map(int, input().split()))drinks.sort()total = drinks[n-1]for i in range(n-1): total += drinks[i]/2print(total)

PS/BOJ 2024.07.25

[Python] 3135번 라디오

✏️ 문제 문제 파악주파수 A에서 B로 가기 위해서 버튼을 누르는 경우는 다음과 같이 2가지가 있다.주파수 A에서 1MHz 단위로 B로 가는 방법: 버튼수 = abs(A-B)주파수 A에서 미리 지정된 주파수로 간 후 B로 가는 방법: 버튼수 = abs((미리 지정된 주파수)-B)+1(여기서 +1 은 미리 지정된 주파수로 가는 버튼수) 알고리즘그리디 알고리즘수학 코드a,b = map(int, input().split())n = int(input())freq = []freq.append(abs(a-b))for i in range(n): freq.append(abs(int(input())-b)+1)print(min(freq))

PS/BOJ 2024.07.25
728x90
반응형
LIST