BOJ | Sliver | 10815번 숫자 카드
문제
https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
코드
import sys
n = int(sys.stdin.readline())
numbers = list(map(int, sys.stdin.readline().split(' ')))
numbers.sort()
m = int(sys.stdin.readline())
check_numbers = list(map(int, sys.stdin.readline().split(' ')))
result = []
for chk in check_numbers:
res = False
start = 0
end = n - 1
while start <= end:
mid = (start + end) // 2
if numbers[mid] == chk:
res = True
break
elif numbers[mid] < chk:
start = mid + 1
else:
end = mid - 1
if res:
result.append(1)
else:
result.append(0)
print(*result)
풀이
- 이진 탐색 알고리즘을 이용한 풀이
유사 문제
BOJ | Sliver | 1920번 수 찾기
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
BOJ | 파이썬 | Sliver | 1920번 수 찾기 (with. 이진 탐색 알고리즘)
BOJ | Sliver | 1920번 수 찾기 문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1
luna-devstory.tistory.com
'Problem Solving > BOJ' 카테고리의 다른 글
BOJ | 파이썬 | Sliver | 18110번 solved.ac (with. round 함수 사용으로 인한 문제) (0) | 2024.05.06 |
---|---|
BOJ | 파이썬 | Sliver | 4949번 균형잡힌 세상 (with. input과 sys.stdin.readline의 차이) (0) | 2024.04.12 |
BOJ | 파이썬 | Sliver | 2164번 카드2 (feat. 2161번 카드1) (0) | 2024.04.08 |
BOJ | 파이썬 | Sliver | 1920번 수 찾기 (with. 이진 탐색 알고리즘) (0) | 2024.04.05 |
BOJ | 파이썬 | Bronze | 10951번 A+B - 4 풀이 (with. EOF 에러 처리) (0) | 2024.01.02 |