티스토리 뷰
이분탐색 (Binary Search)를 이용한 문제
이분탐색이란 우리가 일반적으로 업다운 문제를 풀 때의 원리와 똑같다.
1에서 100까지의 수 중 74라는 숫자를 맞추기 위해 우리는 먼저 50을 부른다.
up이 나오면 그 다음에는 50과 100의 중앙값인 75를 부른다. 이를 반복하면 74라는 숫자를 찾을 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import sys
N = int(input())
num_list1 = list(map(int, sys.stdin.readline().strip().split()))
num_list1.sort()
M = int(input())
num_list2 = list(map(int, sys.stdin.readline().strip().split()))
def binarySearch(num, start, end):
while start <= end:
mid = (end + start)//2
if num > num_list1[mid]:
start = mid + 1
elif num < num_list1[mid]:
end = mid - 1
else: # num == num_list1[mid]
return True
return False
for num in num_list2:
if binarySearch(num, 0, len(num_list1)-1):
print(1)
else:
print(0)
|
cs |
'알고리즘 문제 > 백준 - 파이썬' 카테고리의 다른 글
백준 1260번 - DFS와 BFS [python/파이썬] (0) | 2020.09.10 |
---|---|
백준 2981 - 검문 [python/파이썬] (0) | 2020.09.07 |
백준 2579번 - 계단 오르기 [python/파이썬] (0) | 2020.09.05 |
백준 2580_스도쿠 [python/파이썬] (0) | 2020.09.05 |
백준 1931_회의실배정 [python/파이썬] + sorted by key (0) | 2020.09.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- props를 변경하지 않는 이유
- 리액트 props
- 우테코
- 리액트 리스트 key
- 리액트 jsx
- 1463
- 해쉬 라우터
- contentEditable focus
- 리액트 리스트 키
- 리액트 키
- 우아한테크코스
- Redux Thunk
- 프론트엔드
- 다라쓰
- 브라우저 라우터
- React key
- 리액트 동작원리
- mkcert
- 리덕스 썽크
- localhost https
- 인사이트
- 프론트
- Hash Router
- 리액트 리덕스
- props를 변경하지 못하는 이유
- 파이썬
- Browser Router
- 백준
- 댓글 모듈
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함