본문 바로가기
Blog/TIL

[240607] queue 복습2

by 코젼 2024. 6. 7.
728x90
반응형

🔶코딩테스트


목차

    / 오늘의 TIL /


    코딩테스트

    정답

    모든 배열을 Deque로 변경해서 비어있으면 모든 수를 이용해 카드를 만들 수 있는 경우이다.

    import java.util.*;
    
    class Solution {
        public String solution(String[] cards1, String[] cards2, String[] goal) {
    
    ArrayDeque<String> cardsDeque1 = new ArrayDeque<>(Arrays.asList(cards1));
            ArrayDeque<String> cardsDeque2 = new ArrayDeque<>(Arrays.asList(cards2));
            ArrayDeque<String> goalDeque = new ArrayDeque<>(Arrays.asList(goal));
    
            while (!goalDeque.isEmpty()) {
                if (!cardsDeque1.isEmpty() && cardsDeque1.peekFirst().equals(goalDeque.peekFirst())) {
                    cardsDeque1.pollFirst();
                    goalDeque.pollFirst();
                } else if (!cardsDeque2.isEmpty() && cardsDeque2.peekFirst().equals(goalDeque.peekFirst())) {
                    cardsDeque2.pollFirst();
                    goalDeque.pollFirst();
                } else break;
            }
    
            return goalDeque.isEmpty() ? "Yes" : "No";
        }
    }

    1차 실패

    채점 결과
    정확성: 88.0
    합계: 88.0 / 100.0
    import java.util.*;
    
    class Solution {
        public String solution(String[] cards1, String[] cards2, String[] goal) {
    
            Queue<String> queue1 = new ArrayDeque<>();
            Queue<String> queue2 = new ArrayDeque<>();
    
            Collections.addAll(queue1, cards1);
            Collections.addAll(queue2, cards2);
    
            for (int i = 0; i < goal.length; i++) {
                //맨 위에 있는 큐와 동일한 문자인 경우
                if (!queue1.isEmpty() && queue1.peek().equals(goal[i])) queue1.poll();
                else if (!queue2.isEmpty() && queue2.peek().equals(goal[i])) queue2.poll();
            }
    
            if (queue1.isEmpty() && queue2.isEmpty()) return "Yes";
            else return "No";
        }
    }
    728x90
    반응형

    'Blog > TIL' 카테고리의 다른 글

    [240609] 배울 게 태산  (0) 2024.06.09
    [240608] 환경설정 끄적끄적  (0) 2024.06.08
    [240606] queue 복습1  (0) 2024.06.07
    [240605] 문제를 잘 파악하자  (0) 2024.06.05
    [240604] 값 타입, 페치 조인 배우기  (0) 2024.06.04

    댓글