Updated:

๐Ÿ–๏ธย 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์—๋Š” ์ค‘๋ณต ๋ฌธ์ž์—ด์ด ์—†๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜์ง€๋งŒ, M๊ฐœ์˜ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด์„œ๋Š” ๊ทธ๋Ÿฐ ์กฐ๊ฑด์ด ์—†๋‹ค. ์ฆ‰, ์ค‘๋ณต ๋ฌธ์ž์—ด์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค. ๊ทธ๋ž˜์„œ ์„ธํŠธ ์ž๋ฃŒํ˜• ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š”๊ฒŒ ๊นŒ๋‹ค๋กœ์›Œ์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์ „ ๋Œ€์กฐ ๋ฐฉ์‹์„ ์„ ํƒํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.

Leave a comment