카드 뭉치

문제


문제 풀이

3개의 큐 자료구조를 만들어서 각 큐의 peek의 값을 비교하여 같은 값이 있을 때 계속 반복문이 수행 되도록 함. 

같은 값이 없을 때 No를 출력.


나의 답안

public static String solution(String[] cards1, String[] cards2, String[] goal) {
    String answer = "Yes";
    Queue<String> queue1 = new ArrayDeque<>(List.of(cards1));
    Queue<String> queue2 = new ArrayDeque<>(List.of(cards2));
    Queue<String> queue3 = new ArrayDeque<>(List.of(goal));

    for (int i = 0; i < goal.length; i++) {
        if (queue3.peek().equals(queue1.peek())){
            queue1.poll();
            queue3.poll();
        } else if (queue3.peek().equals(queue2.peek())) {
            queue2.poll();
            queue3.poll();
        } else {
            answer = "No";
            break;
        }
    }

    return answer;
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

[카카오 인턴] 키패드 누르기  (0) 2023.03.24
옹알이 (2)  (0) 2023.03.23
완주하지 못한 선수  (0) 2023.03.23
덧칠하기  (0) 2023.03.23
체육복  (0) 2023.03.23