๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/14426)
<์ ๋์ฌ ์ฐพ๊ธฐ>
๋ฌธ์
๋ฌธ์์ด S์ ์ ๋์ฌ๋ S์ ๊ฐ์ฅ ์์์๋ถํฐ ๋ถ๋ถ ๋ฌธ์์ด์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, S = "codeplus"์ ์ ๋์ฌ๋ "code", "co", "codepl", "codeplus"๊ฐ ์๊ณ , "plus", "s", "cude", "crud"๋ ์ ๋์ฌ๊ฐ ์๋๋ค.
์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ M๊ฐ์ ๋ฌธ์์ด ์ค์์ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด ์ค ์ ์ด๋ ํ๋์ ์ ๋์ฌ์ธ ๊ฒ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค.
๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค.
๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 500์ ๋์ง ์๋๋ค. ์งํฉ S์ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ M๊ฐ์ ๋ฌธ์์ด ์ค์ ์ด ๋ช ๊ฐ๊ฐ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด ์ค ์ ์ด๋ ํ๋์ ์ ๋์ฌ์ธ์ง ์ถ๋ ฅํ๋ค.
๋ฌธ์ ํ์ด
- ์๊ฐ ์ด๊ณผ ์ฝ๋
import sys
if __name__=='__main__':
N,M=map(int, sys.stdin.readline().split())
temp=[]
for i in range(N):
temp.append(sys.stdin.readline().strip())
cnt=0
for i in range(M):
find=sys.stdin.readline().strip()
for j in temp:
pre=j[:len(find)]
if find==pre:
cnt+=1
break
print(cnt)
- ์ด์ค ๋ฐ๋ณต๋ฌธ์ ํ์ฉ- ์ฐพ์ ์ ๋์ฌ ์ ๋ ฅ๋ฐ๊ณ ๊ทธ ๊ธธ์ด๋งํผ ๋ฌธ์์ด ์๋ผ์ ๋น๊ตํ์ฌ ๊ฐ์ผ๋ฉด cnt +1
์ด ๋ฌธ์ ์ ๋ํด์ ์ฐพ์๋ณด๋ ๊ธ์ด 3๊ฐ ์ ๋๋ฐ์ ์์๋ค. ์ด๋ค ๋ถ๋ ์ด๋ ๊ฒ ํ์ด PyPy3๋ก ํต๊ณผํ์๋ค๊ณ ํด์ ์ผ๋จ ๋๋ ค๋ณด์๋๋
ํต๊ณผ... ใ
_ใ
ํ์ง๋ง ๋ Python3๋ก ํ๊ธฐ์.. ๋ค์ ์ฐพ์์ ๋์ !
- ํต๊ณผํ ์ฝ๋
import sys
if __name__=='__main__':
N,M=map(int, sys.stdin.readline().strip().split())
temp=[]
for i in range(N):
temp.append(sys.stdin.readline().strip()) # ๋ฌธ์์ด ์
๋ ฅ
find=[]
for i in range(M):
find.append(sys.stdin.readline().strip()) # ์ ๋์ฌ ์
๋ ฅ
#์ ๋ ฌ
find.sort()
temp.sort()
cnt=0
s=0
for i in find:
for j in range(s,N):
if i==temp[j][:len(i)]:
cnt+=1
s=j # ์ ๋ ฌ ํ๊ธฐ ๋๋ฌธ์ index ๊ต์ฒด
break
print(cnt)
- ๋ฌธ์์ด, ์ ๋์ฌ ์ ๋ ฅ๋ฐ์ ํ ์ ๋ ฌ
- ํน์ ๋ฌธ์๋ก ์์ํ๋์ง ์ฌ๋ถ ํ์ธ
- ์ ๋์ฌ ๋ง๋ค๋ฉด cnt ์ฆ๊ฐ ๋ฐ for๋ฌธ ์์ํ๋ index ์์
์๊ฐ๐ค
์๊ฐ ์ด๊ณผ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํต์ฌ ํฌ์ธํธ๋ ์ ๋ ฌ๊ณผ for๋ฌธ์ index ์์ ์ธ ๊ฒ ๊ฐ๋ค.
์กฐ๊ธ๋ง ์๊ฐ ๋ ํด๋ณด๋ฉด ์ ๋ ฌ์ ์๊ฐํด๋ผ ์ ์์์ ํ
๋ฐ ๋ฐ๋ก ์ฐพ์๋ณธ ๋์... ์๊ฐ๋ฝ์ ํํํ๋ค ^_^
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 5397_ํค๋ก๊ฑฐ (0) | 2022.01.05 |
---|---|
[Baekjoon] 7795_๋จน์ ๊ฒ์ธ๊ฐ ๋จนํ ๊ฒ์ธ๊ฐ (0) | 2022.01.04 |
[Baekjoon] 10211_Maximum Subarray (0) | 2021.11.01 |
[Baekjoon] 13417_์นด๋ ๋ฌธ์์ด (0) | 2021.10.20 |
[Baekjoon] 11399_ATM (0) | 2021.10.20 |