알고리즘 연습/구현, 문자열
[Lv.1 / 프로그래머스 / 파이썬] 카드 뭉치
김세진
2024. 8. 30. 12:36
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
- goal에 있는 단어를 순회하며 두 카드 뭉치의 맨 앞에 있는 단어가 일치하는 경우 꺼내서 사용한다.
- 두 카드 뭉치 모두에서 일치하는 단어가 없다면 No를 반환한다.
- goal을 모두 성공적으로 순회했다면 Yes를 반환한다.
두 카드 뭉치의 맨 앞에 있는 것부터 순차적으로 사용해야 하므로 스택으로 변형하여 pop()을 활용하였다.
def solution(cards1, cards2, goal):
cards1 = cards1[::-1]
cards2 = cards2[::-1]
for word in goal:
if cards1 and word == cards1[-1]:
cards1.pop()
elif cards2 and word == cards2[-1]:
cards2.pop()
else:
return "No"
return "Yes"
반응형