파이썬 알고리즘 : H-Index

2024년 5월 13일 알고리즘 문제풀이 문제 H-Index 난이도 Lv.2 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def solution(citations): answer = 0 left = 0 right = 10000 while left <= right: cnt = 0 mid = (left+right)//2 for i in citations: if i >= mid: cnt += 1 if cnt < mid: right = mid -1 else: left = mid +1 answer = (left+right)//2 return answer 가능한 값 중 최솟값 혹은 최댓값을 찾는 문제는 이제 자연스레 이진탐색이 떠오른다. ...

2024년 5월 13일 · 1 분 · 배준수

파이썬 알고리즘 : 랜선 자르기

2024년 4월 3일 알고리즘 문제풀이 문제 소수 경로 난이도 실버 2 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import sys k,n = map(int,sys.stdin.readline().split()) lan = [] for _ in range(k): lan.append(int(sys.stdin.readline())) low = 0 high = 2**31-1 while low <= high: mid = (low+high)//2 cnt = 0 for thing in lan: cnt += thing//mid if cnt >= n: low = mid+1 else: high = mid-1 print((high+low)//2) 생각보다 평범한 이진탐색문제였다. ...

2024년 4월 4일 · 1 분 · 배준수