728x90
알고리즘 따로 공부 외에도 스터디를 통해 알고리즘 공부를 하기로 했다!
https://www.acmicpc.net/problem/10828
#include <bits/stdc++.h>
using namespace std;
#define stack aaa
int n, stack[100004], pos=-1; //pos: top 가리킴(원소 없을때 -1)
string s1,s2;
int main(){
ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
//1. 입력받기
cin >> n;
//2. 명령어 처리
while(n--){ //n개의 명령어에 대해
cin >> s1;
if(s1=="push"){
cin>>s2;
pos++;
stack[pos]=stoi(s2);
}
else if(s1=="pop"){
if(pos==-1) cout <<"-1\n"; //스택이 비었을때 -1
else {
cout << stack[pos]<<"\n"; //top값 반환
pos--;
}
}
else if(s1=="size"){
cout << pos+1 <<"\n"; //0부터 시작하므로 크기는 pos+1
}
else if(s1=="empty"){
if(pos==-1) cout << "1\n";
else cout << "0\n";
}
else if(s1=="top"){
if(pos==-1)cout <<"-1\n";
else cout << stack[pos]<<"\n";
}
}
}
리스트를 통해 스택을 구현했다.
쉬운 문제지만 문제 조건을 제대로 안읽어서 한번 틀렸다 ㅠㅠ 문제 조건 제대로 읽기!!
728x90
'알고리즘 > 알고리즘 스터디' 카테고리의 다른 글
1316번: 그룹 단어 체커 (0) | 2023.03.02 |
---|---|
10845번: 큐 (0) | 2023.03.02 |
17071번: 숨바꼭질 5 (0) | 2023.03.02 |
10773번: 제로 (0) | 2023.03.01 |
1920번: 수 찾기 (0) | 2023.02.28 |