Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
Tags
- 전문가를 위한 스프링
- 스파르타코딩클럽 #spartacodingclub #누구나큰일낼수있어
- 스프링
- 객체지향의 사실과 오해
- thymeleaf
- 김영한님
- 스프링 MVC 2편
- 스프링 시큐리티 구조
- 백준 #N과 M(4) #백트래킹
- 스파르타코딩클럽
- JPA
- 자바의 정석 기초편
- SQL
- 백준 2630번
- 백준
- 전문가를 위한 스프링5
- 스프링 핵심원리 기본편
- C++
- 알고리즘
- 채팅서버 설계
- 팀300
- 1시간 만에 끝내는 직장인 코딩 용어
- 스프링심화반
- 가상 채팅서버
- 타임리프
- 백준 1992번 풀이
- 누구나큰일낼수있어
- 스프링 입문을 위한 자바 객체 지향의 원리와 이해
- spartacodingclub
- 백준 1992번
Archives
- Today
- Total
민우의 코딩노트
10828번 스택 - C++ 본문
[문제]
https://www.acmicpc.net/problem/10828
[풀이]
기본적인 스택 풀이 문제이다.
C++ STL 중 하나인 스택의 개념과 사용법을 알아보자.
1. 스택
스택(Stack)은 대표적인 LIFO(Last In First Out) 구조이다.
즉, 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 구조를 말한다.
C++ STL 사용법
> 스택 선언
stack <데이터 타입> 이름으로 스택 선언하기
stack<int> stack;
> 스택에 데이터 추가
stack.push(element)
> 스택 데이터 삭제
스택의 최상위 데이터를 삭제합니다.
stack.pop()
> 스택 최상위 데이터(탑, top) 반환
stack.top()
> 스택 사이즈 반환
stack.size()
> 스택 비어있는지 확인
stack.empty()
> 스택 SWAP: 두 스택의 내용 바꾸기
swap 함수를 이용해 두 스택의 내용을 변경합니다.
swap(stack1 , stack2)
[코드]
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
stack<int> S;
while(n--) {
string s;
cin >> s;
if(s == "push") {
int num;
cin >> num;
S.push(num);
}
else if(s == "pop") {
if(S.empty()) cout << -1 << "\n";
else {
cout << S.top() << "\n";
S.pop();
}
}
else if(s == "size"){
cout << S.size() << "\n";
}
else if(s == "empty"){
cout << S.empty() << "\n";
}
else if(s == "top"){
if(S.empty()) cout << -1 << "\n";
else {
cout << S.top() << "\n";
}
}
}
}
'Algorithm > BOJ' 카테고리의 다른 글
3015번 오아시스 재결합 - C++ (0) | 2022.07.24 |
---|---|
10773번 제로 - C++ (0) | 2022.07.16 |
백준 2493번 - 탑 C++ (0) | 2022.04.23 |
백준 10807번 - 개수 세기 C++ (0) | 2022.04.16 |
백준 3273번 - 두 수의 합 C++ (0) | 2022.04.16 |