728x90
반응형
1. 문제 설명
2. 풀이과정
- popleft() 함수를 사용하기 위해 카드 뭉치를 deque 자료구조로 만든다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque
- 틀린 경우만 찾아내기 위해 초기 결과를 Yes로 저장한다. answer = 'Yes'
- 두 카드 뭉치를 deque 자료로 변경한다. cards1 = deque(cards1) cards2 = deque(cards2)
- 만들어야 할 문장의 각 단어를 하나씩 추출한다. for i in goal
- 만약 첫 번째 카드 뭉치에 카드가 남아 있고 해당 카드 뭉치의 첫 번째 단어가 추출한 단어와 동일하면 if (len(cards1) != 0) and (i == cards1[0])
- 카드 뭉치의 제일 앞 단어를 제거한다. cards1.popleft()
- 만약 두 번째 카드 뭉치에 카드가 남아 있고 해당 카드 뭉치의 첫 번째 단어가 추출한 단어와 동일하면 elif (len(cards2) != 0) and (i == cards2[0])
- 카드 뭉치의 제일 앞 단어를 제거한다. cards2.popleft()
- 반면에 추출한 단어가 두 카드 뭉치의 첫 번째 단어와 동일하지 않다면 else
- 문장을 완성시킬 수 없다. answer = 'No'
- 더 이상 문장을 완성시킬 수 없으므로 종료한다. break
반응형
3. 소스코드
from collections import deque
def solution(cards1, cards2, goal):
answer = 'Yes'
cards1 = deque(cards1)
cards2 = deque(cards2)
for i in goal:
if (len(cards1) != 0) and (i == cards1[0]):
cards1.popleft()
elif (len(cards2) != 0) and (i == cards2[0]):
cards2.popleft()
else:
answer = 'No'
break
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 소수 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.25 |
---|---|
[프로그래머스] 할인 행사 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.24 |
[프로그래머스] 모의고사 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.24 |
[프로그래머스] 기능개발 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.23 |
[프로그래머스] 튜플 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 과일 장수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 의상 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] [1차] 캐시 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.19 |