๐ฅ Silver1
https://www.acmicpc.net/problem/2002
โ 1์ฐจ ํ์ด
# enter, exit ๊ฐ๊ฐ์ ์์ dict ์์ฑ
# ์์ ๋ณ๋ ๋น๊ต
import sys
input=sys.stdin.readline
n=int(input())
#enter
enter_dic={}
for i in range(1,n+1):
enter_dic[input().rstrip()]=i
enter_dic=dict(sorted(enter_dic.items()))
#exit
exit_dict={}
for i in range(1,n+1):
exit_dict[input().rstrip()]=i
exit_dict=dict(sorted(exit_dict.items()))
#์์๋ณ๋ ๋น๊ต
rank=[]
for i in range(n):
enter_rank=list(enter_dic.values())[i]
exit_rank=list(exit_dict.values())[i]
rank.append(exit_rank-enter_rank)
print(len(list(filter(lambda x:x<0,rank))))
๊ฐ์ด ์์กํ์ ์ผ๋จ ํ ์คํธ์ผ์ด์ค๋ฅผ ๋ณด๋ฉด์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ค์ด์จ ์์์ ๋๊ฐ ์์๋ฅผ ๋นผ์ ์์ ์ฆ, ๋๊ฐ์์๊ฐ ๋ค์ด์จ ์์๋ณด๋ค ๋ค์ณ์ก์๋ ์ถ์๋ก ์๊ฐ์ ํด๋ณด์๋ค.
์ญ์ ์ค๋ต์ด์๋ค!
์ด๊ฑด ์๋๋ฅผ ๊ณ ๋ คํ์ง ์์ ์์ ์ ์์ ๋ณ๋๋ง์ ๊ณ ๋ คํ ๋ฐฉ์์ด์๋ค.
์ถ๊ตฌ์์ ๋์ค๋ ์์๊ฐ ๋ค์ด์จ ์์๋ณด๋ค ์์ผ๋ฉด ์ถ์
# ์ถ๊ตฌ์์ ๋์ค๋ ์์๊ฐ ๋ค์ด์จ ์์๋ณด๋ค ์์ผ๋ฉด ์ถ์
for i in range(n):
name = list(out_dict.keys())[i]
if out_dict[name] < in_dict[name]:
result += 1
๐๐ป ์ด ๋ฐฉ์ ๋ํ, ์์ ์ ์์๋ง์ ๋น๊ตํ๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋์ ์ธ ์์น๋ณํ๋ฅผ ๋์น ์ ์๋ค.
โ ์ ๋ต ํ์ด
import sys
input=sys.stdin.readline
n=int(input())
in_dict={}
out_dict={}
#์
๊ตฌ ์์ dict ์์ฑ
for i in range(n):
in_dict[input().rstrip()]=i
#์ถ๊ตฌ ์์ dict ์์ฑ
for i in range(n):
out_dict[input().rstrip()]=i
result=0
out_keys=list(out_dict.keys())
#์ถ๊ตฌ์์ ๋์ค๋ ์์๊ฐ ๋ค์ด์จ์์๋ณด๋ค ์์ผ๋ฉด๐๐ป ์ถ์
for i in range(n-1):
name=out_keys[i] #๋์จ ์ฐจ๋
for j in range(i+1,n):
#๋น๊ตํ ์ฐจ๋
next_in=in_dict[out_keys[j]]
if in_dict[name]>next_in:
result+=1
break
print(result)
๋ฉ๋ชจ๋ฆฌ | ์๊ฐ |
31120KB | 76ms |
๐ก ์ง๊ธ ๋์จ ์ฐจ์ ๋ค์ด๊ฐ ์์๋ณด๋ค ๋์ค์ ์จ ์ฐจ๋ค์ ๋ค์ด๊ฐ ์์๊ฐ ์์ธ ๊ฒฝ์ฐ์ ์ถ์
๐๐ป ์ํ๋ฅผ ๋๋ฉด์ i+1์ดํ๋ถํฐ n๊น์ง ์ํ๋ฅผ ํ๋ฉด์, ๋ค์ด์จ ์์๋ฅผ ๋น๊ตํด, ํ์ฌ ๋์จ ์ฐจ๋์ ์์๋ณด๋ค ์์ ๋ค์ด์จ์ฐจ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ์ถ์์ด๋ผ๊ณ ์นด์ดํธ๋ฅผ ํด์ฃผ๊ณ , for๋ฌธ์ ๋น ์ ธ๋์จ๋ค.