[c++] BOJ 12865 :: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ
Algorithm ๋ฌธ์ œ/BOJ 2021. 3. 12. 10:39

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ ๋ฐ˜ ์ด์ƒ ๋ฌธ์ œ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์˜ค๋‹ต ์ฒ˜์Œ์— ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ•˜๋˜ ์ตœ๋Œ€ํ•œ ์กฐํ•ฉ์˜ ๋ฒ”์œ„๋ฅผ ์ค„์—ฌ์„œ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ํ•˜์ง€๋งŒ, ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์‹คํŒจ..! #include #include #include #include using namespace std; // 6์‹œ 4๋ถ„ ์‹œ์ž‘ => 6์‹œ 42๋ถ„ ์ค‘๋‹จ, 11์‹œ 12๋ถ„ ์‹œ์ž‘ => // N > K; for (int i = 0; i > w >> v; vec.push_back(make_pair(w, v)); } // ๋ฌด๊ฒŒ ์ˆœ ์ •๋ ฌ sort(vec.begin(), vec.end(), compare); // ๋ฌด๊ฒŒ๋Š” ๊ฐ™์€๋ฐ ๊ฐ€์น˜๊ฐ€ ์ž‘์€ ๊ฒƒ์€ ์—†์• ๊ธฐ for (int i = 1; i < vec.size(..

[c++] BOJ 11054 :: ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด
Algorithm ๋ฌธ์ œ/BOJ 2021. 3. 6. 10:07

๋‚œ์ด๋„ : ๊ณจ๋“œ 3 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 50๋ถ„ ๋ฌธ์ œ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ’€์ด ์ฒ˜์Œ์— ํ’€์ด๋ฅผ ์ด์ƒํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์„œ O(n^3)์˜ ์™„์ „ํƒ์ƒ‰ ํ˜น์€ DP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์„ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ƒ๊ฐ์„ ๋‹ค์‹œ ํ•ด๋ณด๋‹ˆ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์–ด 20๋ถ„๋งŒ์— ํ’€๊ฒŒ ๋˜์—ˆ๋‹ค. ์—ญ์‹œ ์ฒ˜์Œ์— ํ’€์ด๋ฅผ ์ฃผ์„์œผ๋กœ ์ญ‰ ์ ์–ด๋ณธ ํ›„ ์˜ˆ์ œ๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ณ  ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ œ์ผ ์ •ํ™•ํ•˜๊ณ  ์•Œ๋งž์€ ๋ฐฉ๋ฒ•์ธ ๋“ฏ ํ•˜๋‹ค. ์ž…๋ ฅ์˜ ๋ฒ”์œ„๋Š” 10^3๋กœ ๊ทธ๋‹ค์ง€ ๋†’์€ ํŽธ์€ ์•„๋‹ˆ์—ˆ์ง€๋งŒ, ์™„์ „ํƒ์ƒ‰ ์‹œ O(n^3)์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์ถฉ๋ถ„ํžˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„์˜€๋‹ค. ๋˜ํ•œ ๊ฐ ์ˆซ์ž์˜ ๋ฒ”์œ„๋„ ์ตœ๋Œ€ 10^3์ด๋ฏ€๋กœ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚ด๋ ค๊ฐ€๋ฉฐ / ์˜ฌ๋ ค๊ฐ€๋ฉฐ ํ‘ธ๋Š” ์™„์ „ํƒ์ƒ‰ ๋˜ํ•œ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์˜ˆ์ œ์˜ ํžŒํŠธ๋ฅผ ๋ณด๋‹ˆ ์—ฐ์†์ ์ด์ง€ ์•Š์€ ์ˆ˜์—ด์˜ ํ๋ฆ„๋„ ๊ฐ€๋Šฅํ–ˆ๊ณ , ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ ์ˆซ์ž๊ฐ€ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ma..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์žฌ๊ท€ํ˜ธ์ถœ (๋™์  ๊ณ„ํš๋ฒ•)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 8. 9. 20:26

๐Ÿ‘๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ Dynamic Programming ์ฆ‰, DP๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•์ด๋‹ค. ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์ ํ™”์‹์œผ๋กœ ๋งŒ๋“ค์–ด ๋ถ„ํ•  ์ •๋ณตํ•  ๋•Œ, ๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๊ณผ์ •์—์„œ ๊ณ„์‚ฐ์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•ด๋‘์–ด ์ค‘๋ณต๋˜๋Š” ๊ณ„์‚ฐ์„ ํ•˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ด๋Š” ์ ํ™”์‹ ์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ์„ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋ณดํ†ต ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. DP ๊ณผ์ • ์ „์ฒด ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‹จ์ˆœํ™”ํ•œ๋‹ค. 1๋ฒˆ์˜ ๊ณผ์ •์—์„œ ์ ํ™”์‹์„ ๋„์ถœํ•œ๋‹ค. ์ ํ™”์‹์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•œ๋‹ค. bottom-up top-down ์—†๋‹ค๋ฉด ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ•œ๋‹ค. ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๋ฐฉ์‹์€ ๋ณดํ†ต ๋ฐฐ์—ด์ด๋‹ค. ์ „์ฒด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ๋Œ€ํ‘œ ๋ฌธ์ œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ตฌํ•˜๊ธฐ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: PI (์ •๋‹ต ์ฝ”๋“œ x)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 26. 10:19

PI https://www.algospot.com/judge/problem/read/PI ๋ฌธ์ œ (์ฃผ์˜: ์ด ๋ฌธ์ œ๋Š” TopCoder ์˜ ๋ฒˆ์—ญ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.) ๊ฐ€๋” TV ์— ๋ณด๋ฉด ์›์ฃผ์œจ์„ ๋ช‡๋งŒ ์ž๋ฆฌ๊นŒ์ง€ ์ค„์ค„ ์™ธ์šฐ๋Š” ์‹ ๋™๋“ค์ด ๋“ฑ์žฅํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์ด ์ด ์ˆ˜๋ฅผ ์™ธ์šฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์ˆซ์ž๋ฅผ ๋ช‡ ์ž๋ฆฌ ์ด์ƒ ๋Š์–ด ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ์ˆซ์ž๋ฅผ ์„ธ ์ž๋ฆฌ์—์„œ ๋‹ค์„ฏ ์ž๋ฆฌ๊นŒ์ง€๋กœ ๋Š์–ด์„œ ์™ธ์šฐ๋Š”๋ฐ, ๊ฐ€๋Šฅํ•˜๋ฉด 55555 ๋‚˜ 123 ๊ฐ™์ด ์™ธ์šฐ๊ธฐ ์‰ฌ์šด ์กฐ๊ฐ๋“ค์ด ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, ๊ฐ ์กฐ๊ฐ๋“ค์˜ ๋‚œ์ด๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •ํ•ด์ง‘๋‹ˆ๋‹ค: ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ๊ฐ™์„ ๋•Œ (์˜ˆ: 333, 5555) ๋‚œ์ด๋„: 1 ์ˆซ์ž๊ฐ€ 1์”ฉ ๋‹จ์กฐ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋‹จ์กฐ ๊ฐ์†Œํ•  ๋•Œ (์˜ˆ: 23456, 3210) ๋‚œ์ด๋„: 2 ๋‘ ๊ฐœ์˜ ์ˆซ..

[python]๋ฐฑ์ค€ 4811๋ฒˆ : ์•Œ์•ฝ
Algorithm ๋ฌธ์ œ/BOJ 2020. 2. 21. 00:23

https://www.acmicpc.net/problem/4811 ๋ฌธ์ œ 70์„ธ ๋ฐ•์ข…์ˆ˜ ํ• ์•„๋ฒ„์ง€๋Š” ๋งค์ผ ๋งค์ผ ์•ฝ ๋ฐ˜์•Œ์„ ๋จน๋Š”๋‹ค. ์†๋…€ ์„ ์˜์ด๋Š” ์ข…์ˆ˜ ํ• ์•„๋ฒ„์ง€์—๊ฒŒ ์•ฝ์ด N๊ฐœ ๋‹ด๊ธด ๋ณ‘์„ ์„ ๋ฌผ๋กœ ์ฃผ์—ˆ๋‹ค. ์ฒซ์งธ ๋‚ ์— ์ข…์ˆ˜๋Š” ๋ณ‘์—์„œ ์•ฝ ํ•˜๋‚˜๋ฅผ ๊บผ๋‚ธ๋‹ค. ๊ทธ ๋‹ค์Œ, ๊ทธ ์•ฝ์„ ๋ฐ˜์œผ๋กœ ์ชผ๊ฐœ์„œ ํ•œ ์กฐ๊ฐ์€ ๋จน๊ณ , ๋‹ค๋ฅธ ์กฐ๊ฐ์€ ๋‹ค์‹œ ๋ณ‘์— ๋„ฃ๋Š”๋‹ค. ๋‹ค์Œ ๋‚ ๋ถ€ํ„ฐ ์ข…์ˆ˜๋Š” ๋ณ‘์—์„œ ์•ฝ์„ ํ•˜๋‚˜ ๊บผ๋‚ธ๋‹ค. (์•ฝ์€ ํ•œ ์กฐ๊ฐ ์ „์ฒด ์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์ชผ๊ฐ  ๋ฐ˜ ์กฐ๊ฐ ์ผ ์ˆ˜๋„ ์žˆ๋‹ค) ๋ฐ˜ ์กฐ๊ฐ์ด๋ผ๋ฉด ๊ทธ ์•ฝ์„ ๋จน๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ๋ฐ˜์„ ์ชผ๊ฐœ์„œ ํ•œ ์กฐ๊ฐ์„ ๋จน๊ณ , ๋‹ค๋ฅธ ์กฐ๊ฐ์€ ๋‹ค์‹œ ๋ณ‘์— ๋„ฃ๋Š”๋‹ค. ์ข…์ˆ˜๋Š” ์†๋…€์—๊ฒŒ ํ•œ ์กฐ๊ฐ์„ ๊บผ๋‚ธ ๋‚ ์—๋Š” W๋ฅผ, ๋ฐ˜ ์กฐ๊ฐ์„ ๊บผ๋‚ธ ๋‚ ์—๋Š” H ๋ณด๋‚ธ๋‹ค. ์†๋…€๋Š” ํ• ์•„๋ฒ„์ง€์—๊ฒŒ ๋ฐ›์€ ๋ฌธ์ž๋ฅผ ์ข…์ด์— ๊ธฐ๋กํ•ด ๋†“๋Š”๋‹ค. ์ด 2N์ผ์ด ์ง€๋‚˜๋ฉด ๊ธธ์ด๊ฐ€ 2N์ธ..