[c++] BOJ 7579 :: ์•ฑ
Algorithm ๋ฌธ์ œ/BOJ 2021. 10. 10. 11:01

๋ฌธ์ œ [์•ฑ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ] 7579๋ฒˆ: ์•ฑ ์ž…๋ ฅ์€ 3์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ฒซ ์ค„์—๋Š” ์ •์ˆ˜ N๊ณผ M์ด ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง€๋ฉฐ, ๋‘˜์งธ ์ค„๊ณผ ์…‹์งธ ์ค„์—๋Š” ๊ฐ๊ฐ N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์˜ N๊ฐœ์˜ ์ •์ˆ˜๋Š” ํ˜„์žฌ ํ™œ www.acmicpc.net ํ˜„์žฌ N๊ฐœ์˜ ์•ฑ, A1, ..., AN์ด ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด๋“ค ์•ฑ Ai๋Š” ๊ฐ๊ฐ mi ๋ฐ”์ดํŠธ๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ, ์•ฑ Ai๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•œ ํ›„์— ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๊ฒฝ์šฐ, ์ถ”๊ฐ€์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๋น„์šฉ(์‹œ๊ฐ„ ๋“ฑ)์„ ์ˆ˜์น˜ํ™” ํ•œ ๊ฒƒ์„ ci ๋ผ๊ณ  ํ•˜์ž. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ๋กœ์šด ์•ฑ B๋ฅผ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜์—ฌ, ์ถ”๊ฐ€๋กœ M ๋ฐ”์ดํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•˜์ž. ์ฆ‰, ํ˜„์žฌ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋Š” ์•ฑ A1, ..., AN ์ค‘์—์„œ ๋ช‡ ๊ฐœ๋ฅผ ๋น„..

[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 9251๋ฒˆ :: LCS (ํ’€์ด ๋ฐ ์„ค๋ช… + ๋” ๋‚˜์€ ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 18. 23:04

LCS ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 19827 8068 6050 41.148% ๋ฌธ์ œ LCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)๋ฌธ์ œ๋Š” ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๊ณผ ๋‘˜์งธ ์ค„์— ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ตœ๋Œ€ 1000๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ๋ฌธ์ž์—ด์˜ LCS์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‚˜์˜ ๋‹ต ์ƒ๊ฐ์˜ ํ๋ฆ„ ์™„์ „ํƒ์ƒ‰ ์กฐ๊ฑด ์ค˜๋„ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฐ์„  ์™„์ „ํƒ์ƒ‰์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” s..

[c++] BOJ 1149๋ฒˆ :: RGB๊ฑฐ๋ฆฌ
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 16. 21:31

RGB ๊ฑฐ๋ฆฌ ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 0.5 ์ดˆ (์ถ”๊ฐ€ ์‹œ๊ฐ„ ์—†์Œ) 128 MB 42269 19789 14882 47.682% ๋ฌธ์ œ RGB๊ฑฐ๋ฆฌ์—๋Š” ์ง‘์ด N๊ฐœ ์žˆ๋‹ค. ๊ฑฐ๋ฆฌ๋Š” ์„ ๋ถ„์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ N๋ฒˆ ์ง‘์ด ์ˆœ์„œ๋Œ€๋กœ ์žˆ๋‹ค. ์ง‘์€ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ค‘ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž. 1๋ฒˆ ์ง‘์˜ ์ƒ‰์€ 2๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. N๋ฒˆ ์ง‘์˜ ์ƒ‰์€ N-1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. i(2 ≤ i ≤ N-1)๋ฒˆ ์ง‘์˜ ์ƒ‰์€ i-1๋ฒˆ, i+1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 ≤ N ≤ 1,000)์ด ..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ์™ธ๋ฐœ ๋›ฐ๊ธฐ (๋ฌธ์ œ ID: JUMPGAME, ๋‚œ์ด๋„ : ํ•˜)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 3. 29. 11:31

https://www.algospot.com/judge/problem/read/JUMPGAME ๋ฌธ์ œ ๋•…๋”ฐ๋จน๊ธฐ๋ฅผ ํ•˜๋‹ค ์งˆ๋ฆฐ ์žฌํ•˜์™€ ์˜ํ›ˆ์ด๋Š” ๋•…๋”ฐ๋จน๊ธฐ์˜ ๋ณ€์ข…์ธ ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์„ ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด n*n ํฌ๊ธฐ์˜ ๊ฒฉ์ž์— ๊ฐ 1๋ถ€ํ„ฐ 9 ์‚ฌ์ด์˜ ์ •์ˆ˜๋ฅผ ์“ด ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ฐจ๋ก€์ธ ์‚ฌ๋žŒ์€ ๋งจ ์™ผ์ชฝ ์œ— ์นธ์—์„œ ์‹œ์ž‘ํ•ด ์™ธ๋ฐœ๋กœ ๋›ฐ์–ด์„œ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์นธ์œผ๋กœ ๋‚ด๋ ค๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ๊ฐ ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์ˆซ์ž๋งŒํผ ์˜ค๋ฅธ์ชฝ์ด๋‚˜ ์•„๋ž˜ ์นธ์œผ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ค‘๊ฐ„์— ๊ฒŒ์ž„ํŒ ๋ฐ–์œผ๋กœ ๋ฒ—์–ด๋‚˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ท ํ˜•์„ ์žƒ์–ด์„œ ๋‹ค๋ฅธ ๋ฐœ๋กœ ์„œ๊ฑฐ๋‚˜ ๋„˜์–ด์ ธ๋„ ๊ฒŒ์ž„์—์„œ ์ง‘๋‹ˆ๋‹ค๋งŒ, ์žฌํ•˜์™€ ์˜ํ›ˆ์ด๋Š” ์ Š๊ณ  ํ™œ๊ธฐ์ฐจ๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ฐœ๋กœ ๋›ฐ์–ด๋‹ค๋‹ˆ๋Š” ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ฑฑ์ •๋˜๋Š” ๊ฒƒ์€ ์ฃผ์–ด์ง„ ๊ฒŒ์ž„ํŒ์— ์‹œ์ž‘์ ์—์„œ ๋์ ์œผ๋กœ ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด ..

[python]๋ฐฑ์ค€ 1699๋ฒˆ : ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 6. 22:31

์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 128 MB 20321 8384 6181 41.113% ๋ฌธ์ œ ์–ด๋–ค ์ž์—ฐ์ˆ˜ N์€ ๊ทธ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ œ๊ณฑ์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 11=32+12+12(3๊ฐœ ํ•ญ)์ด๋‹ค. ์ด๋Ÿฐ ํ‘œํ˜„๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, 11์˜ ๊ฒฝ์šฐ 11=22+22+12+12+12(5๊ฐœ ํ•ญ)๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ๊ฒฝ์šฐ, ์ˆ˜ํ•™์ž ์ˆŒํฌ๋ผํ…Œ์Šค๋Š” “11์€ 3๊ฐœ ํ•ญ์˜ ์ œ๊ณฑ์ˆ˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.”๋ผ๊ณ  ๋งํ•œ๋‹ค. ๋˜ํ•œ 11์€ ๊ทธ๋ณด๋‹ค ์ ์€ ํ•ญ์˜ ์ œ๊ณฑ์ˆ˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, 11์„ ๊ทธ ํ•ฉ์œผ๋กœ์จ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ œ๊ณฑ์ˆ˜ ํ•ญ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋Š” 3์ด๋‹ค. ์ฃผ์–ด์ง„ ์ž์—ฐ์ˆ˜ N์„ ์ด๋ ‡๊ฒŒ ์ œ๊ณฑ์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ์— ๊ทธ ํ•ญ์˜ ์ตœ์†Œ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์—..