카드 뭉치 문제 바로가기

나의 풀이

def solution(cards1, cards2, goal):
    answer = "Yes"
    while goal:
        c = goal.pop(0)
        if cards1[0] == c:
            cards1.pop(0)
            cards1.append('')
        elif cards2[0] == c:
            cards2.pop(0)
            cards2.append('')
        else:
            return "No"
    return answer

CODE REVIEW

  1. 를 이용하면 생각보다 간단하게 해결 가능한 문제였다.
  2. goal의 head부터 하나하나씩 cards1와 cards2의 head와 동일한지 확인해주고, 둘 다 동일하지 않다면 “No"를 return하면 되었다.
  3. TIP! pop(0)해준 뒤에 빈 문자열 ''을 append해주어야 indexError가 발생하지 않는다.