S๋ ์งํฉ.set()
๋ก, M๊ฐ์ ๋น๊ต๋ฌธ์์ด์ list()
๋ก ์ ์ธํ๊ณ ,
M ๋น๊ต๋ฌธ์์ด ์์๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ์งํฉ S์ ํฌํจ๋์ด ์๋์ง ๊ฒ์ฌํ๋ฉด์
ํฌํจ๋์ด ์์ผ๋ฉด cnt๋ฅผ ์ฆ๊ฐ์ํค์
๐คท๐ปโโ๏ธS๋ ์งํฉ, M๊ฐ์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ๊ตฌํํ๋ ์ด์ ?
๋ฌธ์ ์์ S๋ ์ค๋ณต๋์ง ์๋๋ค๋ผ๋ ์กฐ๊ฑด์ด ์๊ณ , ๋ฌธ์์ด์ ์ค๋ณต๋ ์๋ ์๊ธฐ ๋๋ฌธ์
ex)
M๊ฐ์ ๋ฌธ์์ด comp์ "abc"๋ผ๋ ์์๊ฐ 2๊ฐ๊ฐ ์๋๋ฐ, S์ abc๊ฐ ์๋ค๋ฉด
์ ๋ต์ 2๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด comp๋ ์งํฉ์ด ์๋ ๋ฆฌ์คํธ๋ก ์ ์ธ
.set()
์ผ๋ก, comp(๋ฌธ์์ด)์ list()
๋ก ์ ์ธin
์ผ๋ก ํ์ธ ํ ์นด์ดํ
<import sys
input = sys.stdin.readline
n,m = map(int, input().split())
S = set(input().rstrip() for _ in range(n))
comp = list(input().rstrip() for _ in range(m))
cnt = 0
for comp_str in comp:
if comp_str in S:
cnt += 1
print(cnt)
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
#S๋ ์งํฉ์ผ๋ก ์
๋ ฅ๋ฐ์ผ๋ฉฐ ์ค๋ณต์ ์ ๊ฑฐํจ
S = set(input().rstrip() for _ in range(n))
#๋ฌธ์์ด์ ๋ฆฌ์คํธ์ ์ ์ฅ (์ค๋ณตํฌํจ)
comp = list(input().rstrip() for _ in range(m))
cnt = 0
for comp_str in comp:
#a "in" b : a๊ฐ b์ ํฌํจ๋์ด ์์ผ๋ฉด "True"๋ฅผ ๋ฐํ
if comp_str in S:
cnt += 1
print(cnt)
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
S = set(input().rstrip() for _ in range(n))
cnt = 0
for _ in range(m):
comp = input().rstrip()
if comp in S:
cnt += 1
print(cnt)
๋ญ ๋ด ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฑฐ์ ๋น์ทํ์ง๋ง comp๋ฅผ list๋ก ์ ์ฅํ์ง ์๊ณ ,
for๋ฌธ์ผ๋ก ๊ทธ๋๊ทธ๋ ์
๋ ฅ๋ฐ์ผ๋ฉด์ ๊ฒ์ฌํ๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์์
โปํ์ง๋ง, ์๊ฐ๋ณต์ก๋๋ O(N+M) == O(N+M+comp) ๋ก ๋๊ฐ์!
๐๐ป์ด๋ป๊ฒ ์ฝ๋ฉํ๋ ๊ทธ์ ์ทจํฅ์ฐจ์ด..