## 의사코드 ##
# 카드 뭉치에서 순서대로 한 장씩 사용 -> 큐 이용 (선입선출)
# from collections import deque
# for w in goal:
# cards1이 비어있지 않고 현재 단어가 cards1의 첫 번째 원소와 같다면 cards1의 첫 번째 원소 삭제
# if cards1 and w == cards1[0]:
# cards1.popleft()
# cards2가 비어있지 않고 현재 단어가 cards2의 첫 번째 원소와 같다면 cards2의 첫 번째 원소 삭제
# elif cards2 and w == cards2[0]:
# cards2.popleft()
# else:
# return 'No'
통과한 코드
from collections import deque
def solution(cards1, cards2, goal):
cards1 = deque(cards1)
cards2 = deque(cards2)
for w in goal:
if cards1 and w == cards1[0]:
cards1.popleft()
elif cards2 and w == cards2[0]:
cards2.popleft()
else:
return 'NO'
return 'Yes'
카드 뭉치에서 순서대로 한 장씩 사용
선입선출큐 이용 (deque)
deque인 cards1 과 cards2가 비어있지 않은 경우에만 카드를 사용할 수 있으므로 'cards1', 'cards2' 라는 조건 추가