코딩 테스트(Python)/백준, 프로그래머스
10816 숫자 카드 2
5_hyun
2022. 2. 22. 17:49
반응형
https://www.acmicpc.net/problem/10816
10816번: 숫자 카드 2
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
내 풀이(맞음)
n = int(input())
a = list(map(int, input().split()))
dic = {}
for i in range(n):
if a[i] in dic:
dic[a[i]] += 1
else:
dic[a[i]] = 1
m = int(input())
b = list(map(int, input().split()))
rst = []
for i in range(m):
if b[i] in dic:
rst.append(dic[b[i]])
else:
rst.append(0)
for i in rst:
print(i, end = ' ')
처음에 그냥 푸니까 시간 제한이 걸렸다. 그래서 딕셔너리 자료형을 사용했다. 그래서 a[i]가 dic 안에 있으면 value 값에 1을 더한다. 만약에 없으면 key와 value를 1로 해서 추가한다. 그리고 m, b를 입력받고 b[i]가 dic 안에 있으면 rst에 b[i]의 value 값을 더하고 없으면 0을 추가한다.
반응형