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 |
댓글