[파이썬] 프로그래머스 LV1 카드뭉치

청수동햄주먹·2023년 4월 6일
0

파이썬코딩테스트

목록 보기
21/35

프로그래머스 카드뭉치

  • 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.❗️
  • 한 번 사용한 카드는 다시 사용할 수 없습니다.
  • 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.
  • 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.

첫번째 조건을 잘못 이해해서 시간이 좀 걸려버렸다.
두번째 카드 뭉치를 통채로? 집어 넣어야 되는 줄 알았음.

def solution(card1, card2, goal):
    card1.append('\0') # overflow 방지용
    card2.append('\0')
    a = 0
    b = 0
    for x in goal:
        if x == card1[a]:
            a += 1
        elif x == card2[b]:
            b += 1
        else: return "No"
    return "Yes"

맨 앞의 카드만 비교하기 때문에 goal에서 순서대로 비교할 때 card1,2에서 다 안나오면 바로 "No"를 리턴. goal을 끝까지 돌았다면 goal을 만들 수 있다는 뜻이므로 "Yes"를 리턴한다.

한동안 코딩테스트 연습을 안하다 하니까 많은 것을 까먹었다.. 진짜 매일매일 연습해야 하는듯 ㅠ

profile
코딩과 사별까지

0개의 댓글