STL
-
[BaekJoon] 1431๋ฒ : ์๋ฆฌ์ผ ๋ฒํธSW Test/BaekJoon 2021. 4. 18. 16:53
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด sort ํจ์๋ฅผ ๊ตฌํํ๋ ๋๋ ๋ฌธ์ ๋ก ์ํ๋ ์กฐ๊ฑด์ ๋ง๊ฒ ๊ตฌํํฉ๋๋ค. sort ํจ์์์ strict weak ordering์ ๋ง๊ฒ ํ์ง ์์ผ๋ฉด ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค. #include #include #include #include #include using namespace std; bool cmp(string& s1, string &s2){ if(s1.size()
-
[Data Structure] unordered_map ์ฌ์ฉ๋ฒData Structure 2020. 3. 16. 22:04
C++ STL์ค ํ๋์ธ unordered_map์ ๋ํ ์ค๋ช ์ ๋๋ค. unorderd_map map๋ณด๋ค ๋ ๋น ๋ฅธ ํ์์ ํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. unordered_map์ ํด์ฌํ ์ด๋ธ๋ก ๊ตฌํํ ์๋ฃ๊ตฌ์กฐ๋ก ํ์ ์๊ฐ๋ณต์ก๋๋ O(1)์ ๋๋ค. map์ Binary Search Tree๋ก ํ์ ์๊ฐ ๋ณต์ก๋๋ O(log n)์ ๋๋ค. unordered_map์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include ์ ์ ์ธํด์ผ ํฉ๋๋ค. unordered_map์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์๊ณ map์ ๋นํด ๋ฐ์ดํฐ๊ฐ ๋ง์ ์ ์๋ฑํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค. ํ์ง๋ง, key๊ฐ ์ ์ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ์ ํด์ ์ถฉ๋๋ก ์ธํด ์ฑ๋ฅ์ด ๋จ์ด์ง ์๋ ์์ต๋๋ค. ํจ์ empty( ) ๋งต์ด ๋น์ด์๋์ง ํ์ธํ๋ ํจ์ if unor..
-
[Data Structure] Priority_queue(์ฐ์ ์์ ํ) ์ฌ์ฉ๋ฒData Structure 2020. 3. 16. 20:55
C++ STL์ค ํ๋์ธ Priority_queue์ ๋ํ ์ค๋ช ์ ๋๋ค. Priority queue ์ด๋? priority queue๋ Compare(์ฐ์ ์์)์ ๋ง๊ฒ ์ค๊ณ๋ container ์ ๋๋ค. priority queue๋ heap๊ณผ ์ ์ฌํฉ๋๋ค. #include ๋ฅผ ์ ์ธํด์ผ priority queue๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. prioirty_queue , compare > ํํ ์ ๋๋ฆญํ๊ฒ ๊ตฌํ๋์ด ์ด๋ ํ type์ด๋ผ๋ ์์๊ฐ ๋ ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ container๋ vector ์ ๋๋ค. compare๋ ๋น๊ต ํด๋์ค๋ก struct๋ฅผ ์๋กญ๊ฒ ๊ตฌํํ์ฌ ๋น๊ต ํด๋์ค๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ( ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ด๋ฆผ์ฐจ์ ) ๊ธฐ๋ณธ ํจ์ empty( ) ํ๊ฐ ๋น์ด์๋์ง ..
-
[Data Structure] pair(ํ์ด) ์ฌ์ฉ๋ฒData Structure 2020. 3. 13. 02:06
C++ STL ์ค ํ๋์ธ pair์ ๋ํ ์ฌ์ฉ๋ฒ์ ๋๋ค. pair ๋? ๋ค๋ฅธ ํ์ ์ ๋ ๊ฐ์ฒด๋ฅผ ํ๋์ ๊ฐ์ฒด๋ก ํํํ๋ STL์ ๋๋ค. ๊ฐ๊ฐ์ ๊ฐ๋ค์ Member first์ Member second๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. #include ๋ฅผ ์ ์ธํด์ผ pair๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํจ์ opearator = ๋์ ์ฐ์ฐ์ ๊ฐ๋ฅ swap ๋ ๊ฐ์ pair๋ฅผ ๋ฐ๊พธ๋ ํจ์ make_pair ( first, second ) pair๋ฅผ ๋ง๋๋ ํจ์ ์ค์ต ๊ฒฐ๊ณผ ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด๋ ์์ ํ ์ฌํญ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.
-
[Data Stucture] map(๋งต) ์ฌ์ฉ๋ฒData Structure 2020. 2. 22. 18:58
C++ STL ์ค ํ๋์ธ map์ ๋ํ ์ค๋ช ์ ๋๋ค. map ์ด๋? map์ key์ value์ ์กฐํฉ์ผ๋ก ๊ตฌ์ฑ๋ container ์ ๋๋ค. map์ key์ compare ํจ์๋ฅผ ํตํด ์ ๋ ฌ๋ฉ๋๋ค. (๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์) ์ ๋๋ฆญ์ผ๋ก ๊ตฌํ๋์ด key์ value๋ ์ด๋ ํ type์ด ์ฌ ์ ์์ต๋๋ค. map์ binary search tree๋ก ๊ตฌ์ฑ๋์ด ์์ด์ unordered_map์ ๋นํด ํ์์ด ๋๋ฆฝ๋๋ค. (์๊ฐ ๋ณต์ก๋ O(log n)) map์ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ ์ค๋ณต key๋ฅผ ๊ฐ์ง๊ธฐ ์ํด์๋ multimap์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. #include ์ ์ ์ธํด์ผ map ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํจ์ empty ( ) ๋งต์ด ๋น์ด์๋์ง ํ์ธํ๋ ํจ์ if map is empty, then r..
-
[Data Stucture] Queue (ํ) ์ฌ์ฉ๋ฒData Structure 2020. 2. 22. 17:57
C++ STL ์ค ํ๋์ธ Queue ์ฌ์ฉ๋ฒ์ ๋๋ค. Queue Queue๋ FIFO ( First In, First Out )์ผ๋ก ์ค๊ณ๋ container ์ ๋๋ค. ์ ๋๋ฆญํ๊ฒ ๊ตฌํ๋์ด ์์ด์ ์ด๋ ํ ์์๋ผ๋ ๋ฉค๋ฒ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๊ฐ, ์ญ์ ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. #include ๋ฅผ ์ ์ธํ์ฌ์ผ queue ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํจ์ empty ( ) ํ๊ฐ ๋น์ด ์๋์ง ํ์ธํ๋ ํจ์ if queue is empty, then return 1 else 0 size ( ) ํ์ ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ ํจ์ return size_type (unsigned int) front ( ) ํ์ ๊ฐ์ฅ ์์ ์๋ ์์๋ฅผ ๋ฐํํ๋ ํจ์ return reference next element back ( ) ํ..
-
[Data Stucture] Stack(์คํ) ์ฌ์ฉ๋ฒData Structure 2020. 2. 22. 17:00
C++ STL ์ค ํ๋์ธ Stack ์ฌ์ฉ๋ฒ์ ๋๋ค. Stack ์ด๋? Stack์ LIFO(Last in First Out) ์ผ๋ก ์ค๊ณ๋ container ์ ๋๋ค. ์ ๋๋ฆญํ๊ฒ ๊ตฌํ๋์ด ์์ด ์ด๋ ํ ์์๋ผ๋ ๋ฉค๋ฒ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ push, pop ํ ์ ์์ต๋๋ค. #include ์ ์ ์ธํด์ผ stack ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํจ์ empty ( ) ์คํ์ด ๋น์ด ์๋์ง ํ์ธํ๋ ํจ์ if stack is empty, then return 1 else 0 size ( ) ์คํ์ ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ ํจ์ return size_type (unsigned int) top ( ) ์คํ์ ๋ง์ง๋ง ์์๋ฅผ ๋ฐํํ๋ ํจ์ return reference top element push ( eleme..