99클럽 코테 스터디 4일차 TIL + 리트코드 232번 Implement Queue using Stacks(Python)

모래·2025년 4월 3일

99클럽 스터디

목록 보기
4/20
post-thumbnail

✔️오늘의 학습 키워드

  • 큐, 스택
  • 스택을 이용한 큐 구현
  • leetcode 232번 Implement Queue using Stacks

✔️ 공부한 내용

📌 오늘의 문제


📌 작성 코드

class MyQueue:
    def __init__(self):
        self.input = []
        self.output = []

    def push(self, x: int) -> None:
        self.input.append(x)

    def pop(self):
        self.move()
        return self.output.pop()

    def peek(self):
        self.move()
        return self.output[-1]

    def empty(self):
        return not self.input and not self.output

    def move(self):
        if not self.output:
            while self.input:
                self.output.append(self.input.pop())

✔️ 오늘의 회고

📌 문제 및 시도 방법

스택 연산을 이용해 큐를 구현하는 문제인데, 큐는 선입선출 구조이므로 스택을 2개 이용하여 해야한다.

📌 문제 해결 방법

  1. push(x) : 요소(x)를 스택(input)에 삽입
  2. pop() : 스택(output)에서 마지막 요소 제거(pop) 및 반환. output이 비어있을 경우, input에서 하나씩 꺼내 output으로 옮긴 후 제거(pop) 및 반환.
  3. peek() : 스택(output)이 비어있으면 input에서 하나씩 꺼내 옮긴 후 마지막 요소 반환
  4. empty() : 두 스택이 모두 비어있으면 큐가 비어있는 것으로 판단하여 True, 비어있지않으면 False 반환

📌 새롭게 안 내용

leetcode는 방식이 달라서 좀 많이 참조했다.

  • init 함수는 파이썬에서 클래스의 생성자(constructor) 메소드다.
    클래스의 인스턴스를 생성할 때 자동으로 호출되며, 인스턴스가 생성될 때 초기화 작업을 수행하는 메소드라고 한다.
  • def test(self, a) -> None 이와 같이 -> None 은 파이썬에서 특별한 값으로, 아무런 값이 없음을 표현하는 데 사용한다고 한다.

📌 내일 학습할 내용

내일의 알고리즘 문제를 풀어보고 이해하기


#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL

profile
꾸준히 성장하는 웹 백엔드 개발자가 되자🔥

0개의 댓글