๐ฉโ๐ป๐ [baekjoon] 14425๋ฒ: ๋ฌธ์์ด ์งํฉ
๐๏ธย solution
import sys
"""
[ํ์ด ์๊ฐ]
1) 16:30 ~ 16:50
[์์ฝ]
1) N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์ฃผ์ด์ง๋ค.
- ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ M๊ฐ์ ๋ฌธ์์ด ์ค์์ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๊ฒ์ด ์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
[์ ๋ต]
1) ์ธํธ ๊ต์ฐจ ๋ฐฉ์ (์๊ฐ ํจ์จ์ฑ GOOD)
- ์งํฉ S์ ์ค๋ณต ๋ฌธ์์ด์ ์์ง๋ง, M๊ฐ์ ๋ฌธ์์ด ์์๋ ์ค๋ณต ๋ฌธ์์ด ์กด์ฌ ๊ฐ๋ฅ
- ์ค๋ณต ๋ฌธ์์ด๊น์ง ๋ชจ๋ ์ธ์ด์ฃผ๋๋ก ์ฝ๋๋ฅผ ์์ฑํด์ผ ํจ
=> ๊ทธ๊ฒ ๊น๋ค๋ก์ฐ๋๊น ์ฌ์ ๋์กฐ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์
2) ์ฌ์ ๋์กฐ ๋ฐฉ์ (๊ณต๊ฐ ํจ์จ์ฑ GOOD)
"""
N, M = map(int, sys.stdin.readline().split())
result, str_dict = 0, {}
for _ in range(N):
str_dict[sys.stdin.readline().rstrip()] = True
for _ in range(M):
str_tmp = sys.stdin.readline().rstrip()
try:
if str_dict[str_tmp]:
result += 1
except KeyError as e:
pass
print(result)
๐กย idea
- 1) ์ฌ์ ๋์กฐ ๋ฐฉ์ ์ด์ฉ
- ์งํฉ S์ ์ํ๋ ๋ชจ๋ ๋ฌธ์์ด์ ์ฌ์ ์ ํฌ์
,
value
๋True
๋ก ์ด๊ธฐํ - ์์ธ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ ์ด์ฉ, M๊ฐ์ ๋ฌธ์์ด์ด ์ฌ์ ์ ์กด์ฌํ๋์ง ๋์กฐ
- ์ด๋ฏธ ์๋ค๋ฉด, ๊ต์งํฉ ์ฒ๋ฆฌ
- ์งํฉ S์ ์ํ๋ ๋ชจ๋ ๋ฌธ์์ด์ ์ฌ์ ์ ํฌ์
,
๋ฌธ์ ์์ ์งํฉ S์๋ ์ค๋ณต ๋ฌธ์์ด์ด ์๋ค๊ณ ์ธ๊ธํ์ง๋ง, M๊ฐ์ ๋ฌธ์์ด์ ๋ํด์๋ ๊ทธ๋ฐ ์กฐ๊ฑด์ด ์๋ค. ์ฆ, ์ค๋ณต ๋ฌธ์์ด์ด ์กด์ฌํ ์ ์๋ค๋ ๋ง์ด๋ค. ๊ทธ๋์ ์ธํธ ์๋ฃํ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๊ฒ ๋๋ฉด ์ค๋ณต ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋๊ฒ ๊น๋ค๋ก์์ง๋ค. ๋ฐ๋ผ์ ์ฌ์ ๋์กฐ ๋ฐฉ์์ ์ ํํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
Leave a comment