- 문제 : 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 = ' ')

 

+ Recent posts