import itertools
def is_prime(num):
#0과 1은 소수에 포함되지 않기때문에 False로 처리
if num < 2:
return False
elif num==2:
return True
#넘겨 받은 수를 2부터 넘겨받은 숫자전까지의 숫자로 나누어줄때
나머지가 없으면 소수가 아니므로 False, 나머지가 있으면 소수이므로 True
for i in range(2, num):
if num % i == 0:
return False
return True
def solution(numbers):
answer = 0
num1 = []
num2 = []
#받은수의 길이만큼 수들의 모든 조합들을 추출
ex) i 가 1일때['1', '7'], 2일때['17', '71'] 합쳐지면 [1, 71, 17, 7]
for i in range(1, len(numbers)+1):
num1 = list(map(''.join, itertools.permutations(numbers, i)))
#int형으로 변환
for j in num1:
num2.append(int(j))
#중복을 없애주기 위해 set형으로 변환
num2 = list(set(num2))
#//[1, 71, 17, 7] 여기에서 소수이 있을때 answer에 1씩 더해준다.
for i in num2:
if is_prime(i):
answer += 1
return answer
백준 숫자카드2
#//밑에 필요한 기능들을 위한 라이브러리를 호출한다 (밑 문단참조)
from sys import stdin
N = int(input())
#//임의의 개수의 정수를 한줄에 입력받아 리슽에 저장
#split()안에 특정 값을 넣어주면 그 값을 기준으로 문자열을 나눔,
아무것도 없을때 공백을 기준으로 나눔,
#list()는 자료형을 리스트형으로 변환(map 같이 사용)
#결론: 입력된 값을 한칸 공백을 기준으로 한줄씩 읽어온다.
arr_n = list(map(int,stdin.readline().split()))
M = int(input())
arr_m = list(map(int,stdin.readline().split()))
#dic이라는 변수에 딕셔너리 생성
dic = dict()
#입력받은 값을 읽어와 각 숫자가 몇갠지 딕셔너리 형식으로 생성
for i in arr_n:
try :
dic[i] += 1
except:
dic[i] = 1
print(dic)
#dic = {6: 1, 3: 2, 2: 1, 10: 3, -10: 2, 7: 1} 형식으로 추출
#위에 딕셔너리를 이용해 키에맞는 value값을 옆으로 출력,
for i in arr_m:
try:
print(dic[i], end = " ")
except:
print(0, end = " ")