Stack

스택 구현하기 ==========

자료구조의 기본이라고 하면 스택가 있다 백준 10828번에서 마주친 스택

#include 헤더 파일을 쓰느 방법도 있지만 문제가 문제인지라 직접 구현을 해보기로했다.

# Class로 나의 스택 구현하기

  class myStack{
public:
    int current=-1;
    int stack[10001];
    
    void push(int num)
    {
        stack[++current] = num;
    }
    void pop(void)
    {
        if(current==-1)
        {
            cout << -1 <<endl;
        }
        else
        {
            cout << stack[current]<<endl;
            stack[current] = NULL;
            current--;
        }
    }
    void size(void)
    {
        cout << current+1 << endl;
    }
    void empty(void)
    {
        if(current == -1)
        {
            cout << 1 << endl;
        }
        else cout << 0 <<endl;
    }
    void top(void)
    {
        if(current ==-1)
        {
            cout << -1 << endl;
        }
        else
        {
            cout << stack[current] <<endl;
        }
    }
};

myStack 클래스에는 현재 위치를 저장하는 변수 current와 스택을 표현하는 배열 stack이 있다. 변수를 집어넣으면 현재위치가 늘어나고 아무것도 없을 땐 현재위치를 -1로 저장했다.

#직접테스트 해보기

  int main() {
    int order;
    cin >> order;
    
    myStack s1;
    for(int i=0;i<order;i++)
    {
        string str;
        cin >> str;
        
        if(str == "push")
        {
            int num;
            cin >> num;
            
            s1.push(num);
        }
        else if(str == "pop")
        {
            s1.pop();
        }
        else if(str == "size")
        {
            s1.size();
        }
        else if(str == "empty")
        {
            s1.empty();
        }
        else if(str == "top")
        {
            s1.top();
        }
    }
}

문자열을 string변수에 입력받아서 비교하고 각 경우마다 함수를 호출하는 식으로 구현하였다. 다음에는 큐도 구현해봐야징

Leave a comment

2024

D&C Optimization

3 minute read

분할정복을 이용한 다이나믹 프로그래밍 최적화

Back to top ↑

2023

Back to top ↑

2022

Greedy

2 minute read

백준 18186번 라면사기(large) 문제풀이

SCC

1 minute read

백준 4196번 도미노 문제풀이

LCA

2 minute read

백준 3176번 도로 네트워크 문제풀이

2-SAT

1 minute read

백준 16367번 TV Show Game 문제풀이

Hashing

2 minute read

백준 21162번 뒤집기 K 문제풀이

Tree DP

1 minute read

백준 1949번 우수 마을 문제풀이

Trie

1 minute read

Trie 자료구조 이해하기

Merge Sort

1 minute read

merge sort를 이용하여 inversion 개수세기

Segment Tree

2 minute read

백준 11505 구간 곱 구하기 문제풀이

BFS

1 minute read

백준 2206 벽 부수고 이동하기 문제풀이

기하

1 minute read

백준 2166 다각형의 면적 문제풀이

이분탐색

1 minute read

백준 12015 가장 긴 증가하는 부분 수열2 문제풀이

누적 합

1 minute read

백준 10986 나머지합 문제풀이

Stack

1 minute read

스택 구현하기 ========== 자료구조의 기본이라고 하면 스택 과 큐가 있다 백준 10828번에서 마주친 스택

정렬1

1 minute read

매우매우 많은 정렬이 있지만 그중 가장 안 어려운 3가지를 공부해보았다.

Back to top ↑