# 스택: pop() & peek() 구현 ## 문제 주어진 뼈대코드에 `pop()`과 `peek()` 메소드를 구현하고 그 결과를 출력 예와 비교하시오. ## 동작 흐름 <div class="embed-responsive embed-responsive-16by9"> <iframe src="https://www.youtube.com/embed/jmKbrIFcyKM" frameborder="0" allowfullscreen></iframe> </div> ## 출력 예 ``` | null | | null | | 3 | <- top | 2 | | 1 | -------- pop: 3 peek: 2 | null | | null | | null | | 2 | <- top | 1 | -------- ``` ## 뼈대코드 ``` public class MyStackTest { public static void main(String[] args) { MyStack stack = new MyStack(); stack.push(1); stack.push(2); stack.push(3); System.out.println(stack); int removed = stack.pop(); int topData = stack.peek(); System.out.printf("pop: %d\n", removed); System.out.printf("peek: %d\n", topData); System.out.println(stack); } } class MyStack { private int[] array; private int capacity; private int top; public MyStack() { this.array = new int[5]; this.capacity = 5; this.top = -1; } public int pop() { /* 해당 메소드를 구현하시오. */ return -1; } public int peek() { /* 해당 메소드를 구현하시오. */ return -1; } public void push(int data) { array[++top] = data; } @Override public String toString() { StringBuffer sbuf = new StringBuffer("\n"); for (int i = capacity - 1; i >= 0; i--) { Integer data = (i <= top) ? array[i] : null; sbuf.append(String.format("| %4s |%s\n", data, (i == top) ? " <- top " : "")); } return sbuf.append("--------\n").toString(); } } ```
관련 강의로 이동

코드: java 1.8

public class Main { public static void main(String[] args) { } }

입력

정답이 궁금하다면? 코드를 제출해보세요!