[๋ฐฑ์ค 1764 ๐ฅ] ๋ฃ๋ณด์ก
https://www.acmicpc.net/problem/1764
1764๋ฒ: ๋ฃ๋ณด์ก
์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๋ฌธ์
๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.
๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
์ถ๋ ฅ
๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช ๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.

๋ฌธ์ ํ์ด
- ๋ฃ๋ ๋ชปํ ์ฌ๋๊ณผ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ชจ๋ ํด๋นํ๋ ์ฌ๋์ ์ด๋ฆ์ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค!
- try...except...๋ฌธ๊ณผ dictionary๋ฅผ ์ด์ฉํด์ count์ ๋ช ๋จ์ ์กด์ฌํ๋ ์ฌ๋์ ํ์๋ฅผ ์ ์ฅํ๋ค.
- count ๋์ ๋๋ฆฌ๋ฅผ ๋๋ฉด์ ๋ฃ๋ ๋ชปํ ์ฌ๋๊ณผ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ชจ๋ ์กด์ฌํด์ ํ์๊ฐ 2์ธ ์ฌ๋์ ์ด๋ฆ์ ans ๋ฐฐ์ด์ ์ถ๊ฐํด์ค๋ค.
- ans ๋ฐฐ์ด์ ์ ๋ ฌํ๊ณ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
- ๋ฌธ์ ๋ฅผ ๋ชจ๋ ํ๊ณ ๋์ ๋ค๋ฅธ ๋ถ์ ํ์ด๋ฅผ ๋ณด๋ฉด์ ์์๋๋ฐ, ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ ๋ฐฐ์ด๊ณผ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ ๋ฐฐ์ด์ ๋ฐ๋ก ์ ์ฅํด์ & ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋ฐฐ์ด์ ๋ชจ๋ ์กด์ฌํ๋ ์์๋ฅผ ์ถ์ถํ ์ ์๋ค..! ํจ์ฌ ์ฌ์ด ๋ฌธ์ ํ์ด ๋ฐฉ๋ฒ์ด์๊ณ ์ถ๊ฐ๋ก ํ์ด์ฌ ๋ฌธ๋ฒ์ ํ๋ ๋ ์๊ฒ ๋๋ค! ex) Arr1=[1,2,3], Arr2=[2,3,6,7] => Arr1 & Arr2 => [2,3]
import sys
n,m=map(int, sys.stdin.readline().split(' '))
count={}
for _ in range(n+m):
name=sys.stdin.readline().strip()
try:
count[name]+=1
except:
count[name]=1
ans=[]
numberOfAns=0
for name, cnt in count.items():
if cnt==2:
ans.append(name)
numberOfAns+=1
ans.sort()
print(numberOfAns)
print(*ans, sep='\n')
# arr1 & arr2 -> arr1, arr2์ ๊ณตํต ์์ ์ถ์ถ ๊ฐ๋ฅ