[Python] 백준 1764

eun·2024년 1월 12일

문제 1764

먼저 문제를 이해해보자.

  • 첫째 줄에는 듣도 못한 사람 n명, 보도 못한 사람 m명이 주어진다.
  • 다음 줄 부터는 n명, m명 순서대로 이름이 주어진다.
  • 두 집합의 공통된 사람의 수와 이름을 출력하는 문제이다.
# 1764

import sys

n, m = map(int, input().split())
dic = {}

for i in range(n):
    name = sys.stdin.readline().rstrip()
    dic[name] = 1
    

for j in range(m):
    name = sys.stdin.readline().rstrip()
    if name in dic:
        dic[name] += 1
    else:
        dic[name] = 1
        
ans = []
for i in dic:
    if dic[i] == 2:
        ans.append(i)

ans.sort()

print(len(ans))
for k in ans:
    print(k)

해당 문제는 쉽게 풀렸다. 딕셔너리를 이용하여 이름을 key로 하여 딕셔너리에 넣어준 후 value를 1씩 증가시켜, value가 2가 되는 key의 개수와, 해당 이름을 출력하면 해결되는 간단한 문제였다.

0개의 댓글