파이썬
[알고리즘] 재귀함수와 반복문을 이용한 이진탐색
이진탐색은 데이터가 정렬된 경우에만 사용가능합니다. 1. 재귀를 이용한 이진탐색 def binary_search(array, target, start, end): if start > end: return None mid = (start + end) // 2 # 찾은 경우 중간점 인덱스 반환 if array[mid] == target: return mid # 중간점의 값보다 찾고자 하는 값이 작은 경우 왼쪽 확인 elif array[mid] > target: return binary_search(array, target, start, mid - 1) # 중간점의 값보다 찾고자 하는 값이 큰 경우 오른쪽 확인 else: return binary_search(array, target, mid + 1, end)..
[백준 기본수학1] 1193 분수찾기 파이썬
n = int(input()) chk = 0 cnt = 0 while n > chk: cnt += 1 # cnt = 껍질 수 chk += cnt # chk = 해당껍질까지의 분수 개수 rst = chk - n if cnt % 2 == 0: # 위에서 시작 print(str(cnt - rst) + '/' + str(rst + 1)) else: # 아래에서 시작 print(str(rst + 1) + '/' + str(cnt - rst)) https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net