Algorithm/프로그래머스

[python] 프로그래머스 Lv1 - 카드 뭉치

떵호 2023. 10. 1. 21:17
728x90

🔗 문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

📁 분류

스택 완전탐색

💡풀이

이 문제는 cards1와 cards2를 사용하여 goal에 있는 문자 순서대로 매칭하는 문제이다.

  1. goal을 순회하면서 goal[i]와 각 카드의 첫 번째 요소와 일치한다면, 해당 값을 answer에 추가하고 제거한다.

goal 리스트의 순서대로 카드를 뽑아오고, goal 만족하는지 여부를 검사하여 결과를 반환한다.

💻 코드

def solution(cards1, cards2, goal):
    answer = []

    for i in range(len(goal)):
        if len(cards1) > 0 and cards1[0] == goal[i]:
            answer.append(cards1.pop(0))
        elif len(cards2) > 0 and cards2[0] == goal[i]:
            answer.append(cards2.pop(0))

	return 'Yes' if goal == answer else 'No'
728x90