[프로그래머스, Java] 카드 뭉치

2025. 7. 15. 20:17·CodingTest/Programmers

사진을 클릭하면 해당 문제로 이동

💡풀이

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
'CodingTest/Programmers' 카테고리의 다른 글
  • [프로그래머스, Java] 추억 점수
  • [프로그래머스, Java] 비밀지도
  • [프로그래머스, Java] 명예의 전당 (1)
  • [프로그래머스, Java] 문자열 내 마음대로 정렬하기
devoks
devoks
꾸준히 작성해보자!
  • devoks
    ok's 개발 블로그
    devoks
  • 전체
    오늘
    어제
    • 분류 전체보기 (112) N
      • Backend (15)
        • SpringBoot (0)
        • Java (15)
      • Cs (18) N
      • Infra (0)
        • AWS (0)
        • Docker (0)
      • CodingTest (79)
        • Programmers (79)
  • 링크

    • My GitHub
  • 인기 글

  • 태그

    java
    programmers
    codingtest
    effectivejava
    json
    BufferedReader
    StringTokenizer
    CS
    switch
    BufferedWriter
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devoks
[프로그래머스, Java] 카드 뭉치
상단으로

티스토리툴바