π Stack
π Stack(μ€ν) μ 리
π Stackμ΄λ?
- C++μ νμ€ ν νλ¦Ώ λΌμ΄λΈλ¬λ¦¬(STL)μμ μ 곡νλ LIFO(Last In First Out) μλ£κ΅¬μ‘°λ‘, κ°μ₯ μ΅κ·Όμ μ½μ λ μμλ₯Ό λ¨Όμ κΊΌλ΄λ ꡬ쑰μ΄λ€.
- μ€νμ μ£Όλ‘ LIFO(νμ μ μΆ) λ°©μμΌλ‘ λμνλ©°, λ°°μ΄μ΄λ μ°κ²°λ¦¬μ€νΈλ₯Ό λ΄λΆμ μΌλ‘ μ¬μ©νμ¬ κ΅¬νλλ€.
π» Stack λ¬Έλ²
1. push() : μ€ν 맨 μμ κ°μ μΆκ°νλ€.
2. pop() : μ€ν 맨 μμ κ°μ μ κ±°νλ€.
3. top() : μ€ν 맨 μμ κ°μ λΆλ¬μ¨λ€, νμ§λ§ μ€νμμ μμ νμ§λ μλλ€.
4. empty() : μ€νμ΄ λΉμ΄μλμ§ νμΈνλ€. λΉμ΄μλ€λ©΄ true, λΉμ΄μμ§ μλ€λ©΄ false κ°μ΄ λμ¨λ€.
π μ€ν μ μΈ
stack<λ°μ΄ν° νμ =""> λ³μλͺ ;</mark>λ°μ΄ν°>
#include <stack> // stack λΌμ΄λΈλ¬λ¦¬
stack<int> stk_int; // μ μν μ€ν
stack<char> stk_int; // λ¬Έμμ΄ μ€ν
stack<string> stk_string; //λ¬Έμμ΄ν μ€ν
π μΆκ°
- for(char c : s) λ¬Έλ²
- λ²μκΈ°λ° for 루ν(range-based for loop)
- 컨ν μ΄λλ λ°°μ΄μ κ° μμλ₯Ό νλμ© μμ°¨μ μΌλ‘ μ κ·Ό
- s λ λ°λ³΅ν 컨ν μ΄λλ λ°°μ΄, μ¬κΈ°μλ λ¬Έμμ΄ν
- char c λ s μμ κ°μ Έμ¨ κ° μμλ₯Ό νλμ© μ μ₯νλ λ³μ
- μ¦, λ¬Έμμ΄ν s μ κ° λ¬Έμλ₯Ό νλμ© μμ°¨μ μΌλ‘ cμ ν λΉνλ©° λ°λ³΅νλ κ²μ΄λ€.