165. 앵무새
1) 어떤 전략(알고리즘)으로 해결?
2) 코딩 설명
<내 풀이>
import sys
from collections import deque
lis=deque()
n=int(sys.stdin.readline().rstrip())
for i in range(n) :
lis.append(deque(sys.stdin.readline().rstrip().split()))
l=list(sys.stdin.readline().rstrip().split())
lcpy=l.copy()
for i in l :
for j in lis :
if i in j :
if j[0]==i :
lcpy.remove(j.popleft())
break
else :
break
chk=0
if lcpy :
chk=1
print("Impossible")
else :
for i in lis :
if len(i)!=0 :
chk=1
print("Impossible")
break
if chk==0:
print("Possible")
<내 틀렸던 풀이, 문제점>
import sys
from collections import deque
lis=deque()
n=int(sys.stdin.readline().rstrip())
for i in range(n) :
lis.append(deque(sys.stdin.readline().rstrip().split()))
l=list(sys.stdin.readline().rstrip().split())
for i in l :
for j in lis :
if i in j :
if j[0]==i :
j.popleft()
else :
break
chk=0
for i in lis :
if len(i)!=0 :
print("Impossible")
chk=1
break
if chk==0:
print("Possible")
- 10%에서 틀림
- 왜냐하면 나는 앵무새가 abcde 들을 말하고, L에 abcde + 그 외 단어들이 추가로 붙어도 되는 줄 알았기 떄문 ,
<반성 점>
- 처음에 문제 이해를 잘못하고 삽질을 많이 했다,,
- 문제파악이 먼저다! 문제를 먼저 잘 파악해보자
<배운 점>