๋ชฉ๋กCS/๋ฐฑ์ค€ (19)

๐Ÿ’œ๊ฐœ๋ฐœ๊ณผ ์ผ์ƒ (โ‰ง∇โ‰ฆ)๏พ‰

[๋ฐฑ์ค€ c++] 9251 LCS (๊ณจ5)

๐Ÿ“Œ ๋ฌธ์ œ Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ง์ ‘์ ์œผ๋กœ ๋ฌธ์ œ์˜ ๊ทœ์น™์„ ์•Œ๋ ค์ฃผ์ง€ ์•Š์ง€๋งŒ ์•”๋ฌต์ ์ธ ๊ทœ์น™์ด ์กด์žฌํ•œ๋‹ค.์ผ๋‹จ ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๋งŒ๋“ค ๋•Œ ๋ฌด์กฐ๊ฑด ์ˆ˜์—ด ๋‚ด ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋ฅผ ์ง€์ผœ์•ผํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ํ•„์ž๋Š” ์ด ๋ฌธ์ œ๊ฐ€ DP๋กœ ํ’€๋ฆฐ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผํ•˜์ง€?? ๋ง‰๋ง‰ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ DP๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด๋‚ด๋ฉด ๊ธˆ๋ฐฉ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋‹ค. ๋จผ์ € ๋ฌธ์ž์—ด ๋ณ„๋กœ ๋ฐฐ์—ด์„ ๋‘ ๊ฐœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๐Ÿ’ป ์ •๋‹ต ์ฝ”๋“œ #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //์ฒซ์งธ ์ค„๊ณผ ..

CS/๋ฐฑ์ค€ 2023. 4. 3. 11:04
[๋ฐฑ์ค€ c++] 2798 ๋ธ”๋ž™์žญ 2ํŠธ (๋ธ”2)

๐Ÿ“Œ ๋ฌธ์ œ ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N, M ๋‘˜์งธ์ค„ ๋ถ€ํ„ฐ๋Š” ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜, ( 10๋งŒ์„ ๋„˜์ง€ ์•Š์Œ ) ํ•ฉ์ด M์„ ๋„˜์ง€ ์•Š๋Š” ์นด๋“œ 3์žฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ. ๋งŒ์•ฝ ์นด๋“œ๋ฅผ 3์žฅ ์ด์ƒ์ด๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์นด๋“œ ์žฅ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๊ฒฝ์šฐ๋Š”, ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„์„ ํ•ด์•ผํ•˜์ง€๋งŒ 3์žฅ์ด๋ผ ์ถฉ๋ถ„ํžˆ ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด์„œ 3๊ฐ€์ง€๋ฅผ ๊ณ ๋ฅธ ํ›„ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋ฃจํŠธ ํฌ์Šค๋กœ ์ถฉ๋ถ„ํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ๋ฐ˜๋ณต๋ฌธ์„ ์“ธ ๋•Œ ๋ ๊ฐ’์ด๋‚˜ ์ดˆ๋ฐ˜ ๊ฐ’์ด index๊ฐ€ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋„๋ก๋งŒ ์ฃผ์˜ํ•˜๋ฉด ๋œ๋‹ค. ๐Ÿ’ป ์ •๋‹ต ์ฝ”๋“œ #include using namespace std; int main() { int N; cin >> N; if (N 100) return 0; int M; cin >> M; if (M < 10..

CS/๋ฐฑ์ค€ 2023. 2. 24. 16:41
[๋ฐฑ์ค€ c++] 16139 ์ธ๊ฐ„-์ปดํ“จํ„ฐ ์ƒํ˜ธ์ž‘์šฉ (์‹ค1)

๐Ÿ“Œ ๋ฌธ์ œ ๋‚ด์šฉ์„ ์ง๊ด€์ ์ด๊ฒŒ ์ •๋ฆฌํ•˜์ž๋ฉด, ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค q ๋ฅผ ์ž…๋ ฅ ๋ฐ›์œผ๋ฉด ๋ฌธ์ž์—ด S ๋‚ด l๋ฒˆ์งธ ~ r๋ฒˆ์งธ ๋ฌธ์ž ๋‚ด์— ๋ฌธ์ž a๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ผ€์ด์Šค ๋ณ„๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์กฐ๊ฑด์€ ๋ฌธ์ž์—ด์€ 20๋งŒ์ž ์ดํ•˜, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜๋Š” 20๋งŒ๊ฐœ์ด๋‹ค. ์ด๊ฒŒ ๋ฌธ์ œ๋ผ๊ณ ? ๋„ˆ๋ฌด ์‰ฝ์ž–์•„ ๊ทธ๋ƒฅ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ? ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆœ ์žˆ์ง€๋งŒ, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜์™€ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ณด์ž. ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋งˆ๋‹ค ๋ฌธ์ž์—ด์„ ํƒ์ƒ‰ํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜์—ฌ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ด ๋ฌธ์ œ๋Š”, ๊ฒฐ๋ก ์„ ๋จผ์ € ๋งํ•˜์ž๋ฉด ๋ˆ„์ ํ•ฉ ๋ฌธ์ œ์ด๋‹ค. ๋ˆ„์ ํ•ฉ์€ ๋นˆ๋„์ˆ˜๋‚˜ ๊ตฌ๊ฐ„ ๋ณ„ ์ˆซ์ž์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•  ๋•Œ DP๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, n๋ถ€ํ„ฐ m๊นŒ์ง€ ์ˆœ์„œ์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๋‹ค ๋”ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์„ ๊ฒฝ์šฐ ์ด ์ „์— ..

CS/๋ฐฑ์ค€ 2023. 2. 22. 01:56
[๋ฐฑ์ค€ c++] 14501 ํ‡ด์‚ฌ (์‹ค3)

๐Ÿ“Œ ๋ฌธ์ œ N์ผ์ด ์ฃผ์–ด์ง€๋งŒ ํ•˜๋ฃจ ๋ณ„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์ฃผ์–ด์ง„๋‹ค. ํ•ด๋‹น ์ผ์ด ์–ธ์ œ ์ฃผ์–ด์ง€๋Š”์ง€์™€ ๊ทธ ์ผ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ๊นŒ์ง€ ํ•„์š”ํ•œ ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง„ ์ผ ๋ฆฌ์ŠคํŠธ์—์„œ ์ผ์„ ๊ณจ๋ผ ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ์ˆ˜์ž…์ด ๋†’์„ ๋•Œ์˜ ์ˆ˜์ž…์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ๋ดค์„ ๋• ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ์ธ๊ฐ€? ์‹ถ์—ˆ๋Š”๋ฐ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ด์ „์— ํŒ๋‹จํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— brute force ๋ฌธ์ œ๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. 1๋…„์ „, ๋™๊ธฐ๋“ค์ด๋ž‘ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””๋ฅผ ํ–ˆ์„ ๋•Œ ํ’€์—ˆ๋Š” ๋“ฏ ํ•˜๋‹ค... ๊ณผ๊ฑฐ์— ๋‚ด๊ฐ€ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„์„ ํ–ˆ๋‹ค. 1๋…„์ „ ์ฝ”๋“œ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋„๋Ÿฝ๋‹ค... ์‚ฌ์‹ค, ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์œ„ํ—˜ํ•œ ๋ฐฉ๋ฒ•์ด๊ณ  ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์ž์ฃผ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด ์ฝ”๋“œ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์•„๋‹Œ ๋“ฏ ํ•˜..

CS/๋ฐฑ์ค€ 2022. 11. 16. 17:59
[๋ฐฑ์ค€ c++] 18406 ๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ (๋ธ”2)

https://www.acmicpc.net/problem/18406 18406๋ฒˆ: ๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ ์ฒซ์งธ ์ค„์— ์ ์ˆ˜ N์ด ์ •์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค. (10 ≤ N ≤ 99,999,999) ๋‹จ, ์ ์ˆ˜ N์˜ ์ž๋ฆฟ์ˆ˜๋Š” ํ•ญ์ƒ ์ง์ˆ˜ ํ˜•ํƒœ๋กœ๋งŒ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๐Ÿ“Œ ๋ฌธ์ œ ์ž์ž˜ํ•œ ๋ฌธ์ œ ๋‚ด์šฉ์„ ์ œ๊ฑฐํ•˜๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ๋งŒ ์ด์•ผ๊ธฐ ํ•˜์ž๋ฉด, ์ž๋ฆฟ์ˆ˜๊ฐ€ ์ง์ˆ˜๊ฐœ ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ •์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋‘˜๋กœ ๋‚˜๋ˆด์„ ๋•Œ ์™ผ์ชฝ์— ์žˆ๋Š” ์ž๋ฆฟ์ˆ˜์™€ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ–ˆ์„ ๋•Œ ๊ทธ ๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ๋Š” "LUCKY" ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์•„๋‹ ๊ฒฝ์šฐ๋Š” "READY"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ œ ์กฐ๊ฑด์„ ๋ณด๋‹ˆ ์ž…๋ ฅ์„ intํ˜•์œผ๋กœ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ๋Š” intํ˜•์„ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ..

CS/๋ฐฑ์ค€ 2022. 9. 21. 16:42
[๋ฐฑ์ค€ c++] 2798 ๋ธ”๋ž™์žญ (๋ธ”2)

https://www.acmicpc.net/problem/2798 ๐Ÿ“Œ ๋ฌธ์ œ ๋ธ”๋ž™์žญ ๊ทœ์น™์ธ ์นด๋“œ์˜ ํ•ฉ์ด 21์„ ๋„˜์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์— ์นด๋“œ์˜ ํ•ฉ์„ ์ตœ๋Œ€ํ•œ ํฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒŒ์ž„์ด๋‹ค. N์žฅ์˜ ์นด๋“œ์— ์จ์ ธ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์šด ์นด๋“œ 3์žฅ์˜ ํ•ฉ์„ ๊ตฌํ•ด ์ถœ๋ ฅํ•œ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์™„์ „ํƒ์ƒ‰์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ์˜ ํŠน์ด์ ์€ ๊ผญ 3์žฅ์„ ๊ณจ๋ผ์•ผํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ค‘์ฒฉ ๋ฃจํ”„๋ฌธ์„ 3๊ฐœ ๊ฒน์ณ์„œ 3๊ฐœ๋ฅผ ๊ณ ๋ฅธ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์™„์ „ํƒ์ƒ‰์ผ ๊ฒฝ์šฐ ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ์ธํ•ด ๋ฌธ์ œ๋ฅผ ํ’€์ง€ ๋ชปํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋Š” ๋Œ€๋ถ€๋ถ„ ์‹œ๊ฐ„ ์‹ธ์›€์ด๊ธฐ ๋•Œ๋ฌธ์— ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ๊ทธ๋ž˜์„œ ๋˜๋„๋ก์ด๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํ•จ์ˆ˜๋ฅผ ๊ผฌ๋ฆฌ๊ฐ€ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ..

CS/๋ฐฑ์ค€ 2022. 3. 9. 17:56