프로그래머스

프로그래머스 - 카드 뭉치

yanJuicy 2024. 1. 31. 17:18
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/159994

 

프로그래머스

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

programmers.co.kr

 

 

 

풀이

카드를 리스트 앞에서부터 순서대로 써야 하고, 순서도 바꿀 수 없고, 사용하지 않고 넘어갈 수 없으므로 큐를 이용해 문제를 해결한다.

다음 순서대로 문제를 해결하면 된다.

1. goal에서 단어를 하나 꺼내서 cards1, cards2에 front와 비교한다

2. cards1, cards2에 일치하는 단어가 있다면 pop 한다.

3. cards1, cards2에 일치하는 단어가 없으면 goal을 만들 수 없다.

4. 위 반복 후 반복문이 끝나면 goal이 완성된 것이다.

 

 

 

코드

python

1
2
3
4
5
6
7
8
9
10
def solution(cards1, cards2, goal):
    for goal_word in goal:
        if cards1 and goal_word == cards1[0]:
            cards1.pop(0)
        elif cards2 and goal_word == cards2[0]:
            cards2.pop(0)
        else:
            return 'No'
    
    return 'Yes'
cs

 

반응형