동캄의 코딩도장

프로그래머스 level 1 [카드뭉치] 파이썬 본문

코테/프로그래머스

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

동 캄 2025. 4. 26. 02:18
반응형

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

def solution(cards1, cards2, goal):
    answer = ''  # 최종 답을 저장할 변수 ('Yes' 또는 'No')
    i = 0  # cards1 리스트의 현재 인덱스
    j = 0  # cards2 리스트의 현재 인덱스

    while True:  # 계속 반복하면서 goal을 순서대로 만들어나간다
        # cards1에서 다음 단어가 goal의 현재 위치 단어와 일치하면
        if i < len(cards1) and cards1[i] == goal[i+j]:
            i += 1  # cards1의 다음 단어로 이동
        # cards2에서 다음 단어가 goal의 현재 위치 단어와 일치하면
        elif j < len(cards2) and cards2[j] == goal[i+j]:
            j += 1  # cards2의 다음 단어로 이동
        # 둘 다 일치하지 않으면 goal을 만들 수 없으므로
        else:
            answer = 'No'  # 실패
            break  # 반복 종료

        # 모든 goal 단어를 다 맞췄으면
        if len(goal) == i + j:
            answer = 'Yes'  # 성공
            break  # 반복 종료

    return answer  # 결과 반환

 

포인터를 각각 하나씩 써서 해결하면 된다.

반응형