반응형
https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
from bisect import bisect_left, bisect_right
n = int(input())
cards = list(map(int, input().split()))
cards.sort() # 이진탐색 전에 정렬은 필수.
m = int(input())
ans = []
query = list(map(int, input().split()))
for q in query:
l = bisect_left(cards, q)
r = bisect_right(cards, q)
# 또다른 방법으로, if cards[l] == q 이면 1
ans.append(1 if r - l > 0 else 0) # 아니면 1 if r - l else 0
print(*ans)
역시 이진탐색 감 좀 잡으면 다시 보고 수정하라고 올려둡니다.
반응형
'알고리즘' 카테고리의 다른 글
[백준 파이썬 11051] 이항 계수 2 (실버 2) (0) | 2023.01.11 |
---|---|
[백준 파이썬 2748] 피보나치 수 2 (브론즈 1) (0) | 2023.01.11 |
[백준 파이썬 2512] 예산 (0) | 2023.01.10 |
[백준 파이썬 2309] 일곱 난쟁이 (0) | 2023.01.10 |
[백준 파이썬 1302] 베스트셀러 (0) | 2023.01.10 |