[C++, python] 프로그래머스

문제 연결

문제를 해결하다

이 문제는 대상이 card1과 card2의 순서로 나타나는지 확인하면 해결할 수 있습니다.

순서가 바뀌면 “No”가 반환됩니다.

올바른 응답 코드

C++

#include <string>
#include <vector>

using namespace std;

string solution(vector<string> cards1, vector<string> cards2, vector<string> goal) {
    int i = 0, j = 0;
    while (i + j < goal.size()) {
        if (i < cards1.size() && cards1(i) == goal(i + j))
            i++;
        else if (j < cards2.size() && cards2(j) == goal(i + j))
            j++;
        else return "No";
    }
    return "Yes";
}

파이썬

def solution(cards1, cards2, goal):
    i = 0
    j = 0
    while i + j < len(goal) :
        if i < len(cards1) and cards1(i) == goal(i + j) :
            i += 1
        elif j < len(cards2) and cards2(j) == goal(i + j) :
            j += 1
        else :
            return "No"
    return "Yes"