Implement Queue using Stacks

만돌이·2025년 8월 6일

algorithm

목록 보기
6/11

📆 Today I Learned

😌 어려웠던 점

크게 어려운 점은 없었고,
단순하게 큐 구현 자체에만 집중했던 것 같다.
문제의 숨은 의도나 조건을 깊이 보지 못한 점이 아쉬웠다.


🧪 내가 시도한 점

Java의 List를 사용해서
FIFO (선입선출) 원칙에 맞춰 큐를 구현해보았다.
단순하지만 큐의 동작 원리를 이해하는 데 도움이 되었다.


⚠️ 잘못한 점

문제에서 "2개의 스택으로 큐를 구현하라"는 조건이 있었는데,
그 부분을 무시하고 List만으로 구현한 점이 가장 큰 실수였다.
조건을 제대로 읽지 않으면 방향 자체가 틀릴 수 있다는 걸 다시금 느꼈다.


📚 배운 점

  • 스택 2개를 사용할 경우, pop이나 peek 호출 시 모든 요소를 매번 옮기는 게 아니라,
    필요한 시점에만 옮기도록 구현하면 더 효율적으로 동작할 수 있다.
  • Java에서 ArrayList를 사용해 remove(0)로 큐처럼 구현하는 것은
    성능 측면에서 비효율적(O(n))이라는 점을 다시 배웠다.
    내부적으로 요소들을 한 칸씩 이동시키기 때문!

오늘은 단순한 구현 속에서도
문제의 조건을 얼마나 정확히 읽고 따르는지가 중요한지를 느낀 하루였다 💡

0개의 댓글