빙응의 공부 블로그

[Programmers]LV.1 카드 뭉치 본문

Argorithm

[Programmers]LV.1 카드 뭉치

빙응이 2023. 11. 30. 15:20


📝풀이

문제를 이해하면 자료구조 문제이다.

앞을 해결하지 못하면 뒤를 못쓰는 FIFO 방식으로 Queue를 쓰거나 컬렉션을 구현하면 된다. 

나는 백터를 썼다. 

import java.util.Vector;

class Solution {
    public String solution(String[] cards1, String[] cards2, String[] goal) {
        Vector<String> card1 = new Vector<>();
        Vector<String> card2 = new Vector<>();
        
        // card1에 요소 추가
        for(String card : cards1)
            card1.add(card);
        
        // card2에 요소 추가
        for(String card : cards2)
            card2.add(card);
        
        // goal 확인
        for(String target : goal){
            if(card1.size() > 0 && card1.get(0).equals(target))
                card1.remove(0);
            else if(card2.size() > 0 && card2.get(0).equals(target))
                card2.remove(0);
            else
                return "No";
        }
        return "Yes";
    }
}