💡풀이
import java.util.ArrayDeque;
import java.util.List;
import java.util.Queue;
class Solution {
public String solution(String[] cards1, String[] cards2, String[] goal) {
Queue<String> q1 = new ArrayDeque<>(List.of(cards1));
Queue<String> q2 = new ArrayDeque<>(List.of(cards2));
for (String word : goal) {
if (!q1.isEmpty() && q1.peek().equals(word)) {
q1.poll();
} else if (!q2.isEmpty() && q2.peek().equals(word)) {
q2.poll();
} else {
return "No";
}
}
return "Yes";
}
}
📖새로 배운 부분
List.of() (Java 9+)
List list = List.of("a", "b", "c");
- 불변(Immutable) 리스트 생성
- 요소 추가/삭제/수정 불가능 (UnsupportedOperationException)
- null 값 허용 안함
- 메모리 효율적
Arrays.asList()
List list = Arrays.asList("a", "b", "c");
- 고정 크기 리스트 생성
- 요소 수정은 가능, 추가/삭제는 불가능
- null 값 허용
- 원본 배열과 연결됨 (배열 변경 시 리스트도 변경)
사용 권장사항
- List.of(): 완전히 불변인 리스트가 필요할 때
- Arrays.asList(): 배열을 리스트로 변환하되 요소 수정이 필요할 때
둘 다 고정 크기이므로 동적 크기가 필요하면 new ArrayList<>(List.of(...))
사용!
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 추억 점수 (0) | 2025.07.16 |
---|---|
[프로그래머스, Java] 비밀지도 (1) | 2025.07.15 |
[프로그래머스, Java] 명예의 전당 (1) (0) | 2025.07.15 |
[프로그래머스, Java] 문자열 내 마음대로 정렬하기 (0) | 2025.07.15 |
[프로그래머스, Java] 콜라 문제 (0) | 2025.07.15 |