๐กsolutions )
๐ฌ ์ฌ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๊ณ ๋น ๋ฅด๊ฒ ํ์ด์ ์ ์ถํ๋๋ ์๊ฐ์ด๊ณผ.... pypy๋ก ์ ์ถํด๋ ์๊ฐ์ด๊ณผ..
๐ฌ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์๊น ํ๊ณ ์ฐพ์๋ณด๋ค๊ฐ ์ฒซ ํ์ด์ ๋น์ทํ๊ฒ ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง๋ง ์ด์ค for๋ฌธ์ ์ฌ์ฉํ์ง ์์ ํจ์ฌ ํจ์จ์ ์ผ๋ก ํ ์ ์์๋ค.
๐ฌ M๊ฐ์ ๋ฌธ์์ด ๊ฐ๊ฐ์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง S์งํฉ์ ์กด์ฌํ๋์ง ํ์ธํ๊ธฐ๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ -> ๋์ ๋๋ฆฌ ์๋ฃํ์ N๊ฐ์ ๋ฌธ์์ด์ ๊ฐ๊ฐ key๊ฐ์ผ๋ก ์ ์ฅํ ํ์ -> M๊ฐ์ ๋ฌธ์์ด์ ๋ฐ๋ณต๋ฌธ์ ํตํด key๊ฐ์ด ์กด์ฌํ๋์ง ํ์ธํ๋ฉด ๋๋ค.
๐จ๐ปcode )
๐ฅ์ฒซ ๋ฒ์งธ ํ์ด -> ์๊ฐ ์ด๊ณผ๐ฅ
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
s_dict = {}
for i in range(n):
string = input().rstrip()
if string[0] in s_dict:
s_dict[string[0]].append(string)
else:
s_dict[string[0]] = [string]
answer = 0
for j in range(m):
word = input().rstrip()
if word[0] in s_dict:
for k in s_dict[word[0]]:
if word == k:
answer += 1
break
print(answer)
๐ฅ๋ ๋ฒ์งธ ํ์ด -> ํต๊ณผ
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
s_dict = {}
for i in range(n):
string = input().rstrip()
s_dict[string] = 1
answer = 0
for j in range(m):
word = input().rstrip()
if word in s_dict:
answer += 1
print(answer)
๐description )
๋ฌธ์
์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ M๊ฐ์ ๋ฌธ์์ด ์ค์์ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๊ฒ์ด ์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค.
๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค.
๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 500์ ๋์ง ์๋๋ค. ์งํฉ S์ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ M๊ฐ์ ๋ฌธ์์ด ์ค์ ์ด ๋ช ๊ฐ๊ฐ ์งํฉ S์ ํฌํจ๋์ด ์๋์ง ์ถ๋ ฅํ๋ค.