알고리즘

[algorithm] 백준 1764 - 듣보잡 (파이썬)

hyuuny 2022. 9. 6. 00:01

📚 문제

입력

출력

예제 입력

3 4
ohhenrie
charlie
baesangwook
obama
baesangwook
ohhenrie
clinton

예제 출력

2
baesangwook
ohhenrie

🧑🏻‍💻 풀이 과정

  • 딕셔너리를 이용하면 간단하게 해결 가능하다.
  • 이름을 입력받아 딕셔너리(_dict)를 초기화하면서 1증가 시키자.
  • _dict[name]에 저장된 값이 1보다 크다는 것은 듣도 보도 못했다는 뜻이므로, 리스트(ans)에 따로 저장하면서 size를 1 증가시키자.
  • sizeans를 출력하자.
import sys


def no_listen_no_see(n, m):
    _dict = {}
    size = 0
    ans = []
    for _ in range(n + m):
        name = sys.stdin.readline().rstrip()
        # 초기화 되어 있지 않으면, 0으로 초기화
        _dict[name] = _dict.setdefault(name, 0)
        _dict[name] += 1

        # 1 이상이면, 듣도 보도 못 했다는 뜻
        if _dict[name] > 1:
            ans.append(name)
            size += 1

    print(size)
    for name in sorted(ans):
        print(name)


N, M = map(int, sys.stdin.readline().rstrip().split())
no_listen_no_see(N, M)