Baekjoon
-
[BaekJoon] 12852๋ฒ : 1๋ก ๋ง๋ค๊ธฐ 2SW Test/BaekJoon 2021. 4. 19. 21:35
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด BFS๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง DP๋ฅผ ํ์ฉํ์ฌ ๊ณต๊ฐ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. if i%2 != 0 && i%3 != 0, D[i] = D[i-1]+1 if i%2 == 0 && i%3 != 0, D[i] = min(D[i-1], D[i/2]) + 1 if i%2 == 0 && i%3 == 0, D[i] = min(D[i-1], D[i/2], D[i/3]) + 1 ๋ฐฉ๋ฒ์ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ ๊ทธ ์ ์ซ์๋ฅผ ๋ด๋ prev ๋ฐฐ์ด์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. 10 => prev[10] = 9, prev[9] = 3, prev[3] = 1 #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie..
-
[BaekJoon] 11659๋ฒ : ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4SW Test/BaekJoon 2021. 4. 19. 21:29
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด Prefix sum ๊ตฌํ๊ธฐ ๋ฌธ์ ์ ๋๋ค. DP๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ๋ณต์ก๋ O(N)์ ๊ตฌํ ์ ์์ต๋๋ค. D[i] = D[i-1] + D[i-2] +... +D[1] #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); int arr[100000]={0}; int n,m; cin>>n>>m; for(int i=1;i>arr[i]; arr[i]+=arr[i-1]; } for(int i=0;i>a>>b; cout
-
[BaekJoon] 1149๋ฒ : RGB ๊ฑฐ๋ฆฌSW Test/BaekJoon 2021. 4. 19. 01:09
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด DP๋ฅผ ์ด์ฉํ์ฌ ํ ์ ์๋ ๋ฌธ์ ๋ก ๊ท์น์ ์ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ํ์ ์ง์ ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ , ์ด์ 3๊ฐ์ง์ ์์ ํฌ๊ธฐ๋ก ์ ์ธํฉ๋๋ค. iํ j์ด์ j์์์ ์น ํ๋ค๊ณ ๊ฐ์ ํ์ ๋, i ๋ฒ์งธ ์ง๊น์ง ์ง์ ์น ํ๋ ์ต๋ ๋น์ฉ์ ๊ณ์ฐํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํ์์๋ ์ด์ ์ ์์ ์น ํ ์ง์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์์์ ์น ํ๋ ๊ฐ์ผ๋ก ์ด๊ธฐํํฉ๋๋ค. ๋ ๋ฒ์งธ ํ๋ถํฐ๋ ์ด์ ํ๊ณผ ๊ฒน์น์ง ์๋ ์ด ์ค์์ ์ต๋๊ฐ์ ์ค์ ํ๋ฉด ๋ฉ๋๋ค. ex) 2ํ 1์ด์์๋ 1ํ 2์ด๊ณผ 1ํ 3์ด ๋ ์ค ์ต๋๊ฐ์ 2ํ 1์ด์ ๋นจ๊ฐ์ง์ ์น ํ๋ ๊ฐ์ ๋ํ๋ฉด ๋ฉ๋๋ค. #include using namespace std; int main(){ int num; cin>>num; int ..
-
[BaekJoon] 2579๋ฒ : ๊ณ๋จ ์ค๋ฅด๊ธฐSW Test/BaekJoon 2021. 4. 18. 19:58
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด DP๋ฅผ ํ์ฉํ์ฌ ํด๊ฒฐํด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. ๊ธฐ์กด์ DP๋ 1์ฐจ์ ์ ํ์์ ์ฌ์ฉํ๋ค๋ฉด, ์ด๋ฒ ๋ฌธ์ ๋ 2์ฐจ์๋ฐฐ์ด์ ์ด์ฉํ ์ ํ์์ ๊ตฌํด์ผ ํฉ๋๋ค. (์ฐ์์ ์ผ๋ก 3๊ฐ์ ๊ณ๋จ์ ๋ฐ๋์ง์ ๋ํ ํ๋จ ๋๋ฌธ์) D[i][1] : i๋ฒ์งธ ๊ณ๋จ๊น์ง ํฌํจํ์ฌ ์ฐ์๋ ๊ณ๋จ ์๊ฐ 1์ธ ๊ฒฝ์ฐ, ์ฆ D[i-1]์ ๋ฐ์ง ์๊ณ , D[i-2]๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ D[i][2] : i๋ฒ์งธ ๊ณ๋จ๊น์ง ํฌํจํ์ฌ ์ฐ์๋ ๊ณ๋จ ์๊ฐ 2์ธ ๊ฒฝ์ฐ, ์ฆ D[i-1]์ ๋ฐ๊ณ D[i]๋ฅผ ์ฐ์์ ์ผ๋ก ๋ฐ์ ๊ฒฝ์ฐ ๋ฐ๋ผ์ D[num][1]๊ณผ D[num][2] ์ค์ ์ต๋๊ฐ์ด ๋ต์ด ๋ฉ๋๋ค. #include #include using namespace std; int main(){ ios::sync_with_stdi..
-
[BaekJoon] 9095๋ฒ : 1, 2, 3 ๋ํ๊ธฐSW Test/BaekJoon 2021. 4. 18. 17:01
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด DP ์ ํ์ ์ธ ๋ฌธ์ ์ค ํ๋๋ก, ํ ์ด๋ธ ์ ์ํ๊ณ , ์ ํ์๋ง ์ฐพ์ผ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ ํ์์ D[i] = D[i-1] + D[i-2] +D[i-3] ์ ๋๋ค. #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); int num; cin>>num; int vec[20]; vec[1] = 1; vec[2] = 2; vec[3] = 4; for(int i=4;in; cout
-
[BaekJoon] 1463๋ฒ : 1๋ก ๋ง๋ค๊ธฐSW Test/BaekJoon 2021. 4. 18. 16:57
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด BFS๋ก x/3, x/2, x-1 ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ ํ์ํ์ฌ ํ์ด๋ฅผ ์์ฑํ ์ ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ก ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ ค์ผ ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ DP๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์์ต๋๋ค. #include using namespace std; int main(){ int vec[1000001]; int num; cin>>num; vec[1] = 0; for(int i=2;i
-
[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()
-
[BaekJoon] 1406๋ฒ : ์๋ํฐSW Test/BaekJoon 2021. 4. 15. 00:56
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ๋ฐฐ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ ์ถ๊ฐ, ์ญ์ ์ ์๊ฐ๋ณต์ก๋๋ O(N)์ด ๊ฑธ๋ฆฌ๋ ๋ฐ๋ฉด, ๋งํฌ๋ ๋ฆฌ์คํธ ๊ฒฝ์ฐ O(1)์ ๋๋ค. ์ด ๋ฌธ์ ๋ ์ถ๊ฐ, ์ญ์ ๊ฐ ์ฉ์ดํด์ผ ๋ ํธํ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. #include #include #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); string s; cin>>s; list mylist; for(int i=0;i>num; for(int i=0;i>op; if(op == 'L' && it != mylist.begin()){ it--; } else if(op == 'D' && it != mylist.end()){ i..