티스토리 뷰
https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
소스코드
#include<iostream>
using namespace std;
int mystack[10000];
int top = 0;
void solution(string s){
if (s == "push"){
cin >> mystack[top];
top++;
}
else if(s == "pop"){
if(top == 0)
cout << "-1" << '\n';
else{
cout << mystack[top - 1] << '\n';
top--;
}
}
else if(s == "size"){ cout << top << '\n'; }
else if(s == "empty"){
if(top == 0) cout << "1" << '\n';
else cout << "0" << '\n';
}
else if(s == "top"){
if(top == 0) cout << "-1" << '\n';
else cout << mystack[top - 1] << '\n';
}
}
int main(){
int N;
string instruct;
cin >> N;
for(int i = 0; i < N; i++){
cin >> instruct;
solution(instruct);
}
}
처음 실행했을 때 원하는 출력이 나오지않아 string 비교연산자, call by reference 등 다 찾아보며 고군분투했다. 그러다 push 연산 후 top++를 발견했고 top이 1 증가된 상태로 대기중이란 것을 알았다.
코드를 더 멋지게 만들어 제출하려했으나 알고리즘 스터디 깃헙에 푸시할 시간이 다가왔고 이대로 제출했다. 스프링 부트 팀프로젝트 중이라 이번주는 간단한 문제들만 풀고있지만 프로젝트가 끝나면 임계점(?)을 넘을 수 있는 골드 문제 혹은 프로그래머스 문제에 도전해봐야겠다.
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
백준 10816 숫자 카드 2 [C++] - 탐색, 원소갯수 (0) | 2021.07.26 |
---|---|
백준 10867 중복빼고 정렬하기 [C++] (0) | 2021.07.25 |
백준알고리즘 10815 숫자카드 [C++] (0) | 2021.07.19 |
백준알고리즘 1929 소수구하기 [C++] (0) | 2021.07.13 |
백준알고리즘 2485 가로수 [C++] (0) | 2021.07.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Open API
- JSP
- 이클립스
- 프로그래머스
- HeidiSQL
- 인턴
- 오류
- 오라클
- 환경설정
- Java
- 백준
- svn
- 국비교육
- 개발용어
- 네트워크
- JVM
- 부트스트랩
- C
- 스프링
- C++
- Thymeleaf
- CSS
- CS
- 넥사크로
- 스프링부트
- 데이터베이스
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함