Home 숫자 카드 2 백준 10816번 이진탐색
Post
Cancel

숫자 카드 2 백준 10816번 이진탐색

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

앞에서 숫자 찾기는 있는지 없는지만 확인하면 되는데 이번에는 그 숫자가 몇번 등장했는지도 알아야 합니다.

그리고 이거는 지난번 게시글에 있던 이진탐색 함수 그대로 가져와서 사용하시고 출력 형태만 바꾸면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from bisect import *

n = int(input())
num_list = list(map(int,input().split()))
num_list.sort()
b = int(input())
find_num = list(map(int,input().split()))

def count_by_range(array, left_value, right_value):
    right_index = bisect_right(array, right_value)
    left_index = bisect_left(array, left_value)
    return right_index - left_index

for i in range(b):
    print(count_by_range(num_list,find_num[i],find_num[i]), end=' ')
This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.