c++
-
์ด์ง ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ ํ๋ค ์ด๋ถ ํ์์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฆฌ์คํธ์์ ํน์ ๊ฐ์ ์์น๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํน์ ๊ฐ์ ์์น ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ 1. ๋ฐฐ์ด์์ ์ค๊ฐ ์์น๋ฅผ ์ฐพ์์ 2. ํด๋น ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด 3. ํ์ ๋ฒ์๋ฅผ ๋ค์ ์ค๊ฐ๊ฐ+1 ๋ถํฐ ์์ํด์ ๋๊น์ง ์ฌ ํ์ํ๋ ๊ฒ์ด๋ค. ์ค๊ฐ ๊ฐ = (์์ ์์น + ๋๋๋ ์์น) / 2 * ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด ์ค๊ฐ๊ฐ ๋ค์ ์๋ฆฌ์ธ 7์ ์์์์น๋ก ๋ค์ ์ค์ ํด์(๋ฐฐ์ด ์์น๋ก๋ 4๋ฒ์งธ) ์ค๊ฐ๊ฐ์ ๋ค์ ์ฐพ์์ ํ์ํ๋ค. * ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ๋ณด๋ค ์๋ค๋ฉด ์ค๊ฐ๊ฐ ์์ ์๋ฆฌ์ธ 3์ ๋๋๋์์น๋ก ๋ค์ ์ค์ ํด์(๋ฐฐ์ด ์์น๋ก๋ 2๋ฒ์งธ) ์ค๊ฐ๊ฐ์ ๋ค์ ์ฐพ์์ ํ์ํ๋ค. * ์ด ๊ณผ์ ์ ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ์ผ๋ก ๋์ฌ๋๊น์ง ์ฐพ๋๋ค. c++ ์ฝ๋ 1 2 3 4 5 6 7 8..
[์๊ณ ๋ฆฌ์ฆ] ์ด๋ถ ํ์์ด์ง ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ ํ๋ค ์ด๋ถ ํ์์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฆฌ์คํธ์์ ํน์ ๊ฐ์ ์์น๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํน์ ๊ฐ์ ์์น ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ 1. ๋ฐฐ์ด์์ ์ค๊ฐ ์์น๋ฅผ ์ฐพ์์ 2. ํด๋น ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด 3. ํ์ ๋ฒ์๋ฅผ ๋ค์ ์ค๊ฐ๊ฐ+1 ๋ถํฐ ์์ํด์ ๋๊น์ง ์ฌ ํ์ํ๋ ๊ฒ์ด๋ค. ์ค๊ฐ ๊ฐ = (์์ ์์น + ๋๋๋ ์์น) / 2 * ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด ์ค๊ฐ๊ฐ ๋ค์ ์๋ฆฌ์ธ 7์ ์์์์น๋ก ๋ค์ ์ค์ ํด์(๋ฐฐ์ด ์์น๋ก๋ 4๋ฒ์งธ) ์ค๊ฐ๊ฐ์ ๋ค์ ์ฐพ์์ ํ์ํ๋ค. * ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ๋ณด๋ค ์๋ค๋ฉด ์ค๊ฐ๊ฐ ์์ ์๋ฆฌ์ธ 3์ ๋๋๋์์น๋ก ๋ค์ ์ค์ ํด์(๋ฐฐ์ด ์์น๋ก๋ 2๋ฒ์งธ) ์ค๊ฐ๊ฐ์ ๋ค์ ์ฐพ์์ ํ์ํ๋ค. * ์ด ๊ณผ์ ์ ์ํ๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ์ผ๋ก ๋์ฌ๋๊น์ง ์ฐพ๋๋ค. c++ ์ฝ๋ 1 2 3 4 5 6 7 8..
2021.11.16 -
๋ฌธ์ ์ ์ n๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, n๊ฐ์ ํฉ์ ๊ตฌํ๋ ํจ์๋ฅผ ์์ฑํ์์ค C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::vector &a); a: ํฉ์ ๊ตฌํด์ผ ํ๋ ์ ์ n๊ฐ๊ฐ ์ ์ฅ๋์ด ์๋ ๋ฐฐ์ด (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) ๋ฆฌํด๊ฐ: a์ ํฌํจ๋์ด ์๋ ์ ์ n๊ฐ์ ํฉ ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 #include long long sum(std::vector &a) { long long ans = 0; for(int i=0;i
BOJ 15596๋ฒ: ์ ์ N๊ฐ์ ํฉ๋ฌธ์ ์ ์ n๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, n๊ฐ์ ํฉ์ ๊ตฌํ๋ ํจ์๋ฅผ ์์ฑํ์์ค C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::vector &a); a: ํฉ์ ๊ตฌํด์ผ ํ๋ ์ ์ n๊ฐ๊ฐ ์ ์ฅ๋์ด ์๋ ๋ฐฐ์ด (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) ๋ฆฌํด๊ฐ: a์ ํฌํจ๋์ด ์๋ ์ ์ n๊ฐ์ ํฉ ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 #include long long sum(std::vector &a) { long long ans = 0; for(int i=0;i
2020.08.22 -
๋ฌธ์ ๋ฐ์ ๊ฐฏ์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๋ฐ์ ํ์์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๊ฐ๊ฐ ํ์๋ค์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ ๊ทธ๋ค์ ํ๊ท ์ ๊ตฌํด์ ๋ฐ์์ ํ๊ท ์ ๋๋ ํ์๋ค์ ๋น์จ์ ์ถ๋ ฅํ๋ผ ์ถ๋ ฅ ๊ฐ ์ผ์ด์ค๋ง๋ค ํ ์ค์ฉ ํ๊ท ์ ๋๋ ํ์๋ค์ ๋น์จ์ ๋ฐ์ฌ๋ฆผํ์ฌ ์์์ ์ ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅํ๋ค ์ ๋ ฅ 5 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 ์ถ๋ ฅ 40.000% 57.143% 33.333% 66.667% 55.556% ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include int main() { int C,s..
BOJ 4344๋ฒ: ํ๊ท ์ ๋๊ฒ ์ง๋ฌธ์ ๋ฐ์ ๊ฐฏ์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๋ฐ์ ํ์์๋ฅผ ์ ๋ ฅ๋ฐ๊ณ ๊ฐ๊ฐ ํ์๋ค์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ ๊ทธ๋ค์ ํ๊ท ์ ๊ตฌํด์ ๋ฐ์์ ํ๊ท ์ ๋๋ ํ์๋ค์ ๋น์จ์ ์ถ๋ ฅํ๋ผ ์ถ๋ ฅ ๊ฐ ์ผ์ด์ค๋ง๋ค ํ ์ค์ฉ ํ๊ท ์ ๋๋ ํ์๋ค์ ๋น์จ์ ๋ฐ์ฌ๋ฆผํ์ฌ ์์์ ์ ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅํ๋ค ์ ๋ ฅ 5 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 ์ถ๋ ฅ 40.000% 57.143% 33.333% 66.667% 55.556% ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include int main() { int C,s..
2020.08.21 -
๋ฌธ์ O๋ ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒ์ด๊ณ , X๋ ๋ฌธ์ ๋ฅผ ํ๋ฆฐ ๊ฒ์ด๋ค ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์ ์ ์ ์๋ ๊ทธ ๋ฌธ์ ๊น์ง ์ฐ์๋ O์ ๊ฐ์๊ฐ ๋๋ค ์๋ฅผ ๋ค์ด "OOXXOXXOOO" ์ ์ ์๋ 1+2+0+0+1+0+0+1+2+3=10์ ์ด๋ค OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์ ์๋ฅผ ์ถ๋ ฅํ๋ค ์ ๋ ฅ 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOOOOOOO OOOOXOOOOXOOOOX ์ถ๋ ฅ 10 9 7 55 30 ์ฝ๋ #include int main() { int N,sum=0,comboStack=0,idx=0; bool combo=false; scanf("%d",&N); for(int i=0;i
BOJ 8959๋ฒ: OXํด์ฆ๋ฌธ์ O๋ ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒ์ด๊ณ , X๋ ๋ฌธ์ ๋ฅผ ํ๋ฆฐ ๊ฒ์ด๋ค ๋ฌธ์ ๋ฅผ ๋ง์ ๊ฒฝ์ฐ ๊ทธ ๋ฌธ์ ์ ์ ์๋ ๊ทธ ๋ฌธ์ ๊น์ง ์ฐ์๋ O์ ๊ฐ์๊ฐ ๋๋ค ์๋ฅผ ๋ค์ด "OOXXOXXOOO" ์ ์ ์๋ 1+2+0+0+1+0+0+1+2+3=10์ ์ด๋ค OXํด์ฆ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์ ์๋ฅผ ์ถ๋ ฅํ๋ค ์ ๋ ฅ 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOOOOOOO OOOOXOOOOXOOOOX ์ถ๋ ฅ 10 9 7 55 30 ์ฝ๋ #include int main() { int N,sum=0,comboStack=0,idx=0; bool combo=false; scanf("%d",&N); for(int i=0;i
2020.08.18 -
๋ฌธ์ ์ธ์ค์ด๋ ์๊ธฐ ์ ์ ์ค์ ์ต๋๊ฐ์ ๊ณจ๋๋ค ๊ทธ๋ฆฌ๊ณ ๋์ ๋ชจ๋ ์ ์๋ฅผ ์ ์/M*100์ผ๋ก ๊ณ ์ณค๋ค ์๋ก ๊ณ์ฐํ ์ธ์ค์ด์ ์ฑ์ ์ ํ๊ท ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค ์ถ๋ ฅ ์ฒซ์งธ์ค์ ์๋ก์ด ํ๊ท ์ ์ถ๋ ฅํ๋ค ์ค์ ์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ๋์ค์ฐจ ๋๋ ์๋์ค์ฐจ๊ฐ 1/100 ์ดํ์ด๋ฉด ์ ๋ต์ด๋ค ์ ๋ ฅ 3 40 80 60 ์ถ๋ ฅ 75.0 ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include int main() { int N; float max=0,sum=0; scanf("%d",&N); float array[N]={0,}; for(int i=0;i
BOJ 1546๋ฒ: ํ๊ท๋ฌธ์ ์ธ์ค์ด๋ ์๊ธฐ ์ ์ ์ค์ ์ต๋๊ฐ์ ๊ณจ๋๋ค ๊ทธ๋ฆฌ๊ณ ๋์ ๋ชจ๋ ์ ์๋ฅผ ์ ์/M*100์ผ๋ก ๊ณ ์ณค๋ค ์๋ก ๊ณ์ฐํ ์ธ์ค์ด์ ์ฑ์ ์ ํ๊ท ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค ์ถ๋ ฅ ์ฒซ์งธ์ค์ ์๋ก์ด ํ๊ท ์ ์ถ๋ ฅํ๋ค ์ค์ ์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ๋์ค์ฐจ ๋๋ ์๋์ค์ฐจ๊ฐ 1/100 ์ดํ์ด๋ฉด ์ ๋ต์ด๋ค ์ ๋ ฅ 3 40 80 60 ์ถ๋ ฅ 75.0 ์ฝ๋ (๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํ์ธ์) ๋๋ณด๊ธฐ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include int main() { int N; float max=0,sum=0; scanf("%d",&N); float array[N]={0,}; for(int i=0;i
2020.08.13 -
๊น๋จน์ง ๋ง๊ณ ๋ณต์ตํ์ STL์ ๊ฝค๋ ์ ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด STL์ ํ ํ๋ฆฟ์ผ๋ก ์์ฑ๋ ๋ง์ ์ ๋ค๋ฆญ ํด๋์ค์ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ปจํ ์ด๋,iterator,์๊ณ ๋ฆฌ์ฆ๋ก ๋ถ๋ฅ๋๋ค. - ์ปจํ ์ด๋ ์ข ๋ฅ ํด๋์ค ํค๋ vector deque list set map stack queue - iterator ์ข ๋ฅ ์ข ๋ฅ iterator const_iterator reverse_iterator const_reverse_iterator - ์๊ณ ๋ฆฌ์ฆ copy merge random rotate equal min remove search find move replace sort max partition reverse swap
[C++] STL(Standard Template Library)๊น๋จน์ง ๋ง๊ณ ๋ณต์ตํ์ STL์ ๊ฝค๋ ์ ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด STL์ ํ ํ๋ฆฟ์ผ๋ก ์์ฑ๋ ๋ง์ ์ ๋ค๋ฆญ ํด๋์ค์ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ปจํ ์ด๋,iterator,์๊ณ ๋ฆฌ์ฆ๋ก ๋ถ๋ฅ๋๋ค. - ์ปจํ ์ด๋ ์ข ๋ฅ ํด๋์ค ํค๋ vector deque list set map stack queue - iterator ์ข ๋ฅ ์ข ๋ฅ iterator const_iterator reverse_iterator const_reverse_iterator - ์๊ณ ๋ฆฌ์ฆ copy merge random rotate equal min remove search find move replace sort max partition reverse swap
2019.11.14