C++
-
[BaekJoon] 2295๋ฒ ์ธ ์์ ํฉSW Test/BaekJoon 2021. 8. 22. 21:41
์ด ๊ธ์ C++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ์ด ๋ฌธ์ ๋ฅผ 3์ค for๋ฌธ์ ์ฌ์ฉํ๋ฉด ํฉ์ ๊ตฌํ๊ณ ํฉ์ด ์กด์ฌํ๋์ง ํ๋จํ์ฌ ์๊ฐ๋ณต์ก๋๊ฐ O(N4)์ด๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ๋ง์ง๋ง ํฉ์ด ์กด์ฌํ๋์ง๋ฅผ ์ด๋ถํ์์ ์ฌ์ฉํ๋๋ผ๋ ์๊ฐ๋ณต์ก๋๊ฐ O(N3logN)์ด๋ผ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ถ๊ฐํผํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์ด๋ถํ์์ ์ฌ์ฉํ๋, ์๋ก์ด ๊ธฐ๋ฒ์ ํ์ฉํด์ผ ํฉ๋๋ค. ์ฆ 2๊ฐ์ ์ซ์์ ํฉ์ ํ๋์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์ด ๋์ ์๊ฐ๋ณต์ก๋๋ O(N2)์ ๋๋ค. ์ดํ ์ฒ์ ๋ฐฐ์ด์ ๋ ๊ฐ์ ์ฐจ์ด๊ฐ 2๊ฐ์ ์ซ์์ ํฉ ๋ฐฐ์ด์ ์กด์ฌํ๋์ง ํ์ธํ๋ฉด ๋ฉ๋๋ค. O(N2logN)์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ex) a1+a2+a3 = a4 ->, a4 - a3 = a1+a2 #include #include #includ..
-
[BaekJoon] 1654๋ฒ ๋์ ์๋ฅด๊ธฐSW Test/BaekJoon 2021. 8. 22. 21:34
์ด ๊ธ์ C++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ์ด ๋ฌธ์ ๋ ์ด๋ถํ์์ ํ์ฉํ Parametric Search ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. 1๋ถํฐ ์ต๋ ๊ธธ์ด๋ฅผ ์์ชฝ์ผ๋ก ํ์ฌ ์ ๋ฐ์ฉ ๊ธธ์ด์ผ ๊ฒฝ์ฐ์ ์ํ๋ ๋์ ์ ๊ฐฏ์๊ฐ ๋๋์ง ํ์ธํ์ฌ s์ e๋ฅผ ์กฐ์ ํฉ๋๋ค. #include #include #include using namespace std; int main(){ int n,k; cin>>n>>k; int arr[10000]; for(int i=0;i>arr[i]; } long long s = 1; long long e = 1; for(int i=1;i
-
[BaekJoon] 18870๋ฒ ์ขํ์์ถSW Test/BaekJoon 2021. 8. 22. 21:23
์ด ๊ธ์ C++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ์ฒ์ ์๊ฐํ์ ๋ ์ ๋ ฌ ํ map์ ํตํด ์ค๋ณต์ ๊ฑฐํ๊ณ ๊ฐ์ key๋ก 0๋ถํฐ ํ๋์ฉ ๋ด๊ธฐ๋ count๋ฅผ value๋ก ํ์ฌ ์ถ๊ฐํ ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด map์ insert์ ์๊ฐ๋ณต์ก๋๋ O(logN), ์ดํ ์ ๋ ฌ์ ๋ํ ์๊ฐ๋ณต์ก๋ O(NlogN)์ด ๊ฑธ๋ ค ์ ์ฒด ์์ ๋ํด์ ํ์ํ ๋์ ์๊ฐ๋ณต์ก๋๋ O(N2logN)์ ๋๋ค. ๋ค์ ํ์ด๋ ๋ฌด์กฐ๊ฑด ์๊ฐ์ด๊ณผ๊ฐ ๋ํ๋๊ฒ ๋๋๋ฐ map์ด ์๋ unordered_map์ ์ฌ์ฉํ๋ฉด ์ด์ง ๊ฒ์ ํธ๋ฆฌ๊ฐ ์๋ ํด์ฌ ํ ์ด๋ธ๋ก ๊ตฌํ์ด ๋์ด O(1)๋ง์ ํต๊ณผํ ์ ์์ต๋๋ค. #include #include #include #include using namespace std; int main(){ int arr[1..
-
[BaekJoon] 2230๋ฒ ์๊ณ ๋ฅด๊ธฐSW Test/BaekJoon 2021. 8. 22. 20:52
์ด ๊ธ์ C++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ๋ค์ ๋ฌธ์ ๋ ์ด๋ถํ์์ผ๋ก๋ ํด๊ฒฐํ ์ ์์ต๋๋ค. ํด๋น ์์ด์ ์ ๋ ฌ ํ ์ฒ์ ์ธ๋ฑ์ค๋ถํฐ ๋๊น์ง ํ์์ ํ๋ ํด๋น ์ธ๋ฑ์ค์ ๊ฐ๋ณด๋ค M์ด ํฐ ๊ฐ์ ์ด๋ถํ์์ ํ์ฌ ์ฝ์ ํ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์ฆ, ์ ๋ ฌ์ ๋ฌด๋๋จ๋ฆฌ์ง ์๊ณ ํด๋น ๊ฐ์ ์ถ๊ฐํ ์ธ๋ฑ์ค(lower_bound)๋ฅผ ๋ฐํํฉ๋๋ค. ํ์ง๋ง, ํฌ ํฌ์ธํฐ ๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ํ์ด๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๋ฌธ์ ์์ ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ ฌํ ๋ O(NlogN)๊ณผ ์๋ฅผ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ O(N)์ผ๋ก ์๊ฐ๋ณต์ก๋๋ O(NlogN)์ด ๋ฉ๋๋ค. #include #include #include using namespace std; int main(){ int arr[100000]; int n,m; cin>>n>>m..
-
[BaekJoon] 1806๋ฒ ๋ถ๋ถํฉSW Test/BaekJoon 2021. 8. 22. 20:46
์ด ๋ฌธ์ ๋ C/C++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ๋ถ๋ถํฉ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ 3์ค for๋ฌธ์ ์ด์ฉํด์ ํ๋์ฉ ๋ง์ ์ ํ์ฌ s๋ฅผ ๋์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ์ฌ๋ฆด ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ถํฉ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๋ฐฐ์ฐ์ ๋ถ์ด๋ผ๋ฉด ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ด ์ฒ์๋ถํฐ ํด๋น ์ธ๋ฑ์ค๊น์ง์ ์์๋ค์ ํฉ์ ๋ํ๋ด๋ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์ดํ 2์ค for๋ฌธ์ ์ด์ฉํ์ฌ sum(j) - sum(i)๊ฐ s๊ฐ ๋์๋์ง ํ์ธํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ ๋ฎ์ถ ์ ์์ต๋๋ค. ํ์ง๋ง N์ ํฌ๊ธฐ๋ 10๋ง์ด๋ผ O(n2)์ด์ฌ๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํฌ ํฌ์ธํฐ ๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ํ์ด์ผ ํฉ๋๋ค. ํฌ ํฌ์ธํฐ ๋ฅผ ์ฌ์ฉํ๋ฉด O(N)์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. #include #include #include using namespace st..
-
[C/C++] Next_permutation ์ฌ์ฉ๋ฒC , C++ 2021. 8. 1. 15:47
์ด ๊ธ์ C++์ Next_permutation API ์ฌ์ฉ๋ฒ์ ๋๋ค. Next_permutation C++์์ ์์ด๊ณผ ์กฐํฉ์ ๊ตฌํํ๊ธฐ ์ํด์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฑํธ๋ํน(backtraking) ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐฑํธ๋ํน ๊ธฐ๋ฒ์ ์ด์ฉํ๋ ๊ฒ ์ด์ธ์๋ C++์์๋ ์์ด, ์กฐํฉ์ ๊ตฌํํ๊ธฐ ์ํ API์ธ Next_permutation ํจ์๊ฐ ์กด์ฌํฉ๋๋ค. ๋ณด๋ค ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ด, ์กฐํฉ์ผ๋ก๋ ์ถฉ๋ถํ ํต๊ณผํ ๋งํ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ ๋ค์ API๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค. next_premutation ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include์ ์ ์ธํ์ฌ์ผ ํฉ๋๋ค. Example int main(){ int arr[3] = {3,1,2}; sort(arr, arr+3); /** 1 2 3 1..
-
[Data Structure] Deque ์ฌ์ฉ๋ฒData Structure 2021. 8. 1. 15:22
c++ STL ์ค ํ๋์ธ Deque์ ๋ํ ์ค๋ช ์ ๋๋ค. Deque Deque๋ Double-ended queue์ ์ฝ์๋ก ์์ชฝ ์ด๋์์๋ ์ถ๊ฐ, ์ญ์ ๊ฐ ๊ฐ๋ฅํ ๊ตฌ์กฐ์ธ ํ์ ๋๋ค. Queue ์์๋ ์์๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด์ front๋ฅผ ํตํด ํ๋์ฉ ๊ฐ์ ธ์๋ค๋ฉด, Deque๋ iterator์ index ์ ๊ทผ์ด ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค. push_back, push_front, pop_back, pop_front์ ๊ฐ์ API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋์์๋ ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ๊ณ front, back ํจ์๋ฅผ ํตํด ์์๋ฅผ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. API ํํ๋ index ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฒ๋ง ๋ณด๋ฉด Queue ๋ณด๋ค๋ Vector์ ํํ์ฒ๋ผ ๋ณด์ด๊ณ , ์คํ๋ ค vector๋ณด๋ค ์์ชฝ ๋ ์์๋ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์์ํธํ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋..
-
[BeakJoon] 5430๋ฒ: ACSW Test/BaekJoon 2021. 7. 22. 13:40
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ๊ฑฐ๊พธ๋ก ๋ค์ง๋ ํจ์๋ฅผ ์ค์ ๋ก ์ํํ์ง ์๊ณ ๊ฑฐ๊พธ๋ก ๋ค์ง์์ ๊ฒฝ์ฐ๋ ๋งจ ๋ค์ ์์ ๋ฐํ, ์๋ ์์์ผ ๋๋ ์์ ์์ ๋ฐํ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค. deque๋ฅผ ์ฌ์ฉํ์ฌ ๋งจ ์์ ์์์ ๋งจ ๋ค์ ์์๋ฅผ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด๋ ์์ ํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.