백준 2164번 카드2 문제로 정리하는 Java Queue 사용법

no-glass-otacku·2025년 3월 30일
0

Algorithm

목록 보기
2/4

🔗 문제 링크: 백준 2164번 - 카드2


📌 사용한 주요 Queue 메서드 (Java)

  • offer(value): 큐의 뒤에 요소 추가
  • poll(): 큐의 앞에서 요소 제거 후 반환, 비어 있으면 null 반환
  • size(): 큐에 남아 있는 요소 수 확인

✅ Queue 선언 예시

Queue<Integer> queue = new LinkedList<>();
  • Java에서 Queue는 인터페이스이기 때문에 직접 생성할 수 없음
  • LinkedList는 Queue 인터페이스를 구현하고 있어 큐처럼 사용 가능

🤔 왜 LinkedList로 Queue를 구현했을까?

  • Java의 Queue인터페이스라서 new로 만들 수 없음
  • LinkedListQueue 인터페이스를 구현하고 있어 큐처럼 사용 가능
  • 내부적으로 양방향 연결 리스트 구조이기 때문에
    ➤ 앞에서 제거(poll) / 뒤에 추가(offer) 모두 빠르게 처리 가능 (O(1))

💡 while문 안에 변수 선언하는 게 더 좋은 이유

  • 필요한 범위 안에서만 변수를 선언하면 코드 가독성이 좋아짐
  • int card = ...를 반복문 안에 선언해도
    ➤ 매번 새 객체가 생성되는 게 아니라 같은 메모리 공간 재사용
  • 성능에 영향 거의 없고, 코드 유지보수에 더 유리함
profile
Move forward

0개의 댓글