C++:: 프로그래머스 <카드 뭉치>

jahlee·2023년 2월 28일
0

프로그래머스_Lv.1

목록 보기
2/75
post-thumbnail

처음에는 스택에 넣어서 비교를 할까 생각했는데 그냥 인덱스를 늘려가는 방식으로 접근해도 쉽게 구현할 수 있을거 같아서 다음과 같이 구현하였다.

#include <string>
#include <vector>

using namespace std;

bool    is_sameword(string s1, string s2)
{
    if (s1.size() != s2.size()) return false; // 길이가 다르다면 
    for(int i=0;i<s1.size();i++)
        if(s1[i]!=s2[i]) return false; // 문자가 다르다면
    return true;
}

string solution(vector<string> cards1, vector<string> cards2, vector<string> goal) 
{
    int idx1=0, idx2=0;
    for(int i=0;i<goal.size();i++)
    {
        if(idx1 < cards1.size() && is_sameword(cards1[idx1], goal[i]))
            idx1++;
        else if(idx2 < cards2.size() && is_sameword(cards2[idx2], goal[i]))
            idx2++;
        else return "No";
    }
    return "Yes";
}

0개의 댓글