카드 뭉치

2025. 1. 20. 22:21·코딩 테스트/프로그래머스

문제

문제 해석

1. goal에서 한 개씩 비교하면서 cards1과 cards2의 것을 인덱스를 증가시키면서 확인한다.

2. goal의 원소를 가리키는 인덱스가 최대치인 경우는 인덱스를 초과하여 일치한 것이므로 전부 일치로 간주해서 Yes를 반환한다.

3. 아닌 경우를 나타내는 변수를 하나 둬서 실패 조건에 해당하는 경우 No를 반환하게 한다.

3-1. 실패 1 : cards1과 cards2를 각각 나타내는 인덱스가 해당 카드뭉치보다 커지는 경우 실패

3-2. 실패 2 : 둘다 일치하지 않는 경우는 실패

 

코드

#include <string>
#include <vector>

using namespace std;

string solution(vector<string> cards1, vector<string> cards2, vector<string> goal) {

    size_t Card1CurrentIDX = 0;
    size_t Card2CurrentIDX = 0;
    size_t GoalMax = goal.size();
    size_t Card1Max = cards1.size();
    size_t Card2Max = cards2.size();
    
    bool bNeedContinue = false;
    size_t CurrentGoalIDX = 0;
    while(CurrentGoalIDX != GoalMax)
    {
        bNeedContinue = false;
        if(Card1CurrentIDX < Card1Max && goal[CurrentGoalIDX] == cards1[Card1CurrentIDX])
        {
            Card1CurrentIDX++;
            CurrentGoalIDX++;
            bNeedContinue = true;
        }
        else if(Card2CurrentIDX < Card2Max && goal[CurrentGoalIDX] == cards2[Card2CurrentIDX])
        {
            Card2CurrentIDX++;
            CurrentGoalIDX++;
            bNeedContinue = true;
        }
        
        if(bNeedContinue)
        {
            if(CurrentGoalIDX == GoalMax)
            {
                return "Yes";
            }
        }
        else
        {
            return "No";
        }
    }
}

 

다른 사람의 풀이

1. 참조를 활용한 풀이

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

모의고사  (3) 2025.01.21
과일장수  (0) 2025.01.20
명예의 전당 (1)  (2) 2025.01.16
콜라 문제  (2) 2025.01.16
푸드 파이트 대회  (0) 2025.01.14
'코딩 테스트/프로그래머스' 카테고리의 다른 글
  • 모의고사
  • 과일장수
  • 명예의 전당 (1)
  • 콜라 문제
DevJoo1120
DevJoo1120
  • DevJoo1120
    Jin's Programming
    DevJoo1120
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 포트폴리오 (7)
        • Castlevania: Aria of Sorrow.. (7)
        • [UE5] KILL Everything (0)
      • C++ (0)
      • 라이브러리 (1)
      • 다이렉트X11 (0)
      • Unreal Engine (11)
        • Unreal Document (1)
        • 이것 저것 (8)
        • UI (1)
      • 자료구조 및 알고리즘 (0)
      • 책 정리 (3)
        • 코딩 테스트 합격자 되기 C++ 편 (10)
      • 코딩 테스트 (32)
        • 프로그래머스 (32)
      • 스파르타 코딩 언리얼 1기 (9)
        • 특강 (0)
        • C++와 Unreal Engine으로 3D .. (2)
      • TIL(Today I Learned) (63)
      • 영어 공부 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    과제
    Til
    스파르타 코딩 클럽
    이중 반복문
    코딩 테스트
    C++
    프로그래머스
    책 정리
    문자열
    코딩 테스트 합격자 되기 c++ 편
    반복문
    정리
    Unreal Engine 5
    코딩테스트
    팀 프로젝트
    정렬
    배열
    map
    Study
    WINAPI
  • hELLO· Designed By정상우.v4.10.5
DevJoo1120
카드 뭉치
상단으로

티스토리툴바