[java] 스택을 이용한 카카오톡 메시지 목록 구현하기

카카오톡은 많은 사람들이 메시지를 주고받는 인기있는 메신저 애플리케이션입니다. 이번에는 자바에서 스택 자료구조를 이용하여 카카오톡 메시지 목록을 구현해보겠습니다. 스택은 마지막에 추가된 항목을 가장 먼저 접근할 수 있는 후입선출(LIFO) 형식의 자료구조입니다.

스택 클래스 만들기

import java.util.Stack;

public class KakaoTalkStack {
    private Stack<String> messageStack;

    public KakaoTalkStack() {
        messageStack = new Stack<String>();
    }

    public void pushMessage(String message) {
        messageStack.push(message);
    }

    public String popMessage() {
        return messageStack.pop();
    }

    public String peekMessage() {
        return messageStack.peek();
    }

    public boolean isEmpty() {
        return messageStack.isEmpty();
    }
}

위의 코드는 KakaoTalkStack 클래스를 정의한 것입니다. Stack 클래스를 이용하여 messageStack을 생성하고, 메시지를 추가하고(popMessage) 가져오는(pushMessage) 메소드를 구현했습니다. 또한 스택이 비어있는지 확인하는 메소드(isEmpty)도 추가했습니다.

카카오톡 메시지 목록 사용하기

public class Main {
    public static void main(String[] args) {
        KakaoTalkStack kakaoTalk = new KakaoTalkStack();

        kakaoTalk.pushMessage("안녕하세요");
        kakaoTalk.pushMessage("오늘 점심 어땠어요?");
        kakaoTalk.pushMessage("뭐해요?");
        
        System.out.println(kakaoTalk.popMessage());
        System.out.println(kakaoTalk.peekMessage());
        System.out.println(kakaoTalk.isEmpty());
    }
}

위의 예제에서는 KakaoTalkStack 객체를 생성하고, pushMessage 메소드를 사용하여 메시지를 추가합니다. 이후 popMessage 메소드를 통해 가장 최근에 추가된 메시지를 가져오고, peekMessage 메소드를 사용하여 스택의 맨 위에 위치한 메시지를 확인할 수 있습니다. 마지막으로 isEmpty 메소드를 사용하여 스택이 비어있는지 확인할 수 있습니다.

결론

이번에는 자바에서 스택 자료구조를 이용하여 카카오톡 메시지 목록을 구현해보았습니다. 스택은 후입선출(LIFO) 형식으로 동작하기 때문에 카카오톡 메시지 목록에 적합한 자료구조입니다. 이를 활용하여 다양한 애플리케이션에서 메시지 목록을 구현할 수 있습니다.

참고 자료: