- 문제 : https://www.acmicpc.net/problem/10816
Silver Lv4 문제이고, 스스로 푼 문제다!
먼저 떠오른 건 arr1의 각 원소가 총 몇 개씩 있는지 딕셔너리로 표현한 다음, arr2의 원소들이 arr1에 몇 개 있는지 누적하면 풀릴 것이라고 생각했다. 근데 이건 이분탐색으로 푼 게 아니라 이분탐색으로 어떻게 푸는지 알아봐야할 것 같다.
- 정답 풀이 :
from collections import Counter
n = int(input())
arr1 = list(map(int, input().split()))
m = int(input())
arr2 = list(map(int, input().split()))
#arr2 원소 돌면서 arr1에 원소가 몇개 있는지 확인하면 될 듯
dic = Counter(arr1)
answer = [0] * m
for i in range(m):
answer[i] = dic[arr2[i]]
for i in range(m):
print(answer[i], end = ' ')
'백준 > Search' 카테고리의 다른 글
[이분탐색/백준] 2805번 : 나무 자르기 (0) | 2022.12.28 |
---|---|
[이분탐색/백준] 1654번: 랜선 자르기 (0) | 2022.12.28 |
[이분탐색/백준] 1920번 : 수 찾기 (0) | 2022.12.28 |
[dfs/백준] 16929번 : Two Dots (0) | 2022.08.11 |
[dfs,bfs/백준] 4803번 : 트리 (0) | 2022.08.11 |