티스토리 뷰

문제 링크

 

10816번: 숫자 카드 2

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

 

문제 풀이

import sys

n = int(sys.stdin.readline().strip())
num_card = list(map(int, sys.stdin.readline().strip().split()))
num_count = {}

for num in num_card:
  if num in num_count:
    num_count[num] += 1
  else:
    num_count[num] = 1

m = int(sys.stdin.readline().strip())
num_check = list(map(int, sys.stdin.readline().strip().split()))

print(' '.join(str(num_count[num]) if num in num_count else '0' for num in num_check))

10816 입출력 예시

*key point: 입력된 수를 key로 그 숫자의 개수를 value로 가지는 딕셔너리를 활용한다. 출력시에는 리스트를 구분자로 이어 문자열로 변환시켜주는 join 메서드를 이용한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함