본문 바로가기

알고리즘

백준10815)숫자카드-pyhton

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

a = int(input())

arr = list(map(int,input().split()))

b = int(input())

arr2 = list(map(int,input().split()))
arr.sort()

def b(start,end,target):
  mid = (start + end) // 2

  if end < start:
    return 0

  if arr[mid] == target:
    return 1

  if arr[mid] > target:
    end = mid - 1
    return b(start,end,target)
  else:
    start = mid + 1
    return b(start,end,target)
  


for i in arr2:
  start = 0
  end = len(arr) - 1
  q = b(start,end,i)
  print(q,end = ' ')

이분탐색의 전형적인 문제다.

'알고리즘' 카테고리의 다른 글

프로그래머스)[1]차 다트 게임-pyhton  (0) 2023.02.07
백준4963)섬의 개수-python  (0) 2023.02.07
백준1654)랜선 자르기-python  (0) 2023.02.06
백준)숫자카드-python  (0) 2023.02.06
*프로그래머스)카펫-python  (0) 2023.02.05