๐Ÿค–Algorithm ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 125๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋งํฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ๋”ฑ ์ฝ์–ด ๋ดค์„ ๋•Œ, ์กฐํ•ฉ(Combination) ๋ฌธ์ œ๋ž€ ๊ฒŒ ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค. C++ STL์—๋Š” ์ˆœ์—ด๊ณผ ์กฐํ•ฉ์„ ๊ตฌํ˜„ํ•ด ๋†“์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†๋‚˜ ์ฐพ์•„๋ดค๋Š”๋ฐ, next_permutation์ด๋ผ๋Š” ์ˆœ์—ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์žˆ๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ, ๊ทธ๋ƒฅ ์ง์ ‘ ์ž‘์„ฑํ•˜์—ฌ ํ’€์–ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋ฌธ์ œ๊ฐ€ ๋  ๋งŒํ•œ ์‚ฌํ•ญ๋“ค์ด ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. balls์™€ share์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 30์ธ๋ฐ, 30!์€ 2.6525285981219105863630848e+32 ๋ผ๋Š” ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ๋งŒํผ ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ํฝ๋‹ˆ๋‹ค. ๋ถ„์ˆ˜..

๐Ÿ”—๋ฌธ์ œ ๋งํฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ฒ˜์Œ์—๋Š” ์ˆซ์ž๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ˆœ์„œ๋กœ ์•ˆ ๋“ค์–ด์˜ค๋Š” ์ค„ ์•Œ๊ณ , ์ •๋ ฌ์„ ํ•ด์คฌ์—ˆ๋Š”๋ฐ ์ž…๋ ฅ์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ ๊ฐ™์•„ ํ•„์š” ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์Œ์œผ๋กœ ์ €์žฅ๋˜๊ณ , ๊ฒ€์ƒ‰์— ์œ ๋ฆฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ธ STL์˜ map ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. #include #include using namespace std; template map* CountNumbers(const vector& array) { map* numbers = new map(); for (auto number : array) { auto..

๐Ÿค–Algorithm/Programmers 2023. 1. 29. 21:20

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 11404๋ฒˆ: ํ”Œ๋กœ์ด๋“œ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค์˜ ์ถœ๋ฐœ ๋„์‹œ์˜ ๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… n(2 ≤ n ≤ 100)๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋„์‹œ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๋‹ค๋ฅธ ๋„์‹œ์— ๋„์ฐฉํ•˜๋Š” m(1 ≤ m ≤ 100,000)๊ฐœ์˜ ๋ฒ„์Šค๊ฐ€ ์žˆ๋‹ค. ๊ฐ ๋ฒ„์Šค๋Š” ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•  ๋•Œ ํ•„์š”ํ•œ ๋น„์šฉ์ด ์žˆ๋‹ค. ๋ชจ๋“  ๋„์‹œ์˜ ์Œ (A, B)์— ๋Œ€ํ•ด์„œ ๋„์‹œ A์—์„œ B๋กœ ๊ฐ€๋Š”๋ฐ ํ•„์š”ํ•œ ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€..

๐Ÿค–Algorithm/BOJ 2022. 9. 15. 14:17

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 10610๋ฒˆ: 30 ์–ด๋Š ๋‚ , ๋ฏธ๋ฅด์ฝ”๋Š” ์šฐ์—ฐํžˆ ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์–‘์ˆ˜ N์„ ๋ณด์•˜๋‹ค. ๋ฏธ๋ฅด์ฝ”๋Š” 30์ด๋ž€ ์ˆ˜๋ฅผ ์กด๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋Š” ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์ฐพ์€ ์ˆ˜์— ํฌํ•จ๋œ ์ˆซ์ž๋“ค์„ ์„ž์–ด 30์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•œ www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ์–ด๋Š ๋‚ , ๋ฏธ๋ฅด์ฝ”๋Š” ์šฐ์—ฐํžˆ ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์–‘์ˆ˜ N์„ ๋ณด์•˜๋‹ค. ๋ฏธ๋ฅด์ฝ”๋Š” 30์ด๋ž€ ์ˆ˜๋ฅผ ์กด๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋Š” ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์ฐพ์€ ์ˆ˜์— ํฌํ•จ๋œ ์ˆซ์ž๋“ค์„ ์„ž์–ด 30์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•œ๋‹ค. ๋ฏธ๋ฅด์ฝ”๋ฅผ ๋„์™€ ๊ทธ๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•˜๋Š” ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ N์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. N๋Š” ์ตœ๋Œ€ 105๊ฐœ์˜ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ๋ฏธ๋ฅด์ฝ”๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•˜๋Š” ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ. ๊ทธ ์ˆ˜๊ฐ€ ์กด..

๐Ÿค–Algorithm/BOJ 2022. 7. 20. 00:41

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 13305๋ฒˆ: ์ฃผ์œ ์†Œ ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ธธ์ด๊ฐ€ ์ œ์ผ ์™ผ์ชฝ ๋„๋กœ๋ถ€ํ„ฐ N-1 www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ๋‚˜๋ผ์— N๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ์ด ๋„์‹œ๋“ค์€ ์ผ์ง์„  ๋„๋กœ ์œ„์— ์žˆ๋‹ค. ํŽธ์˜์ƒ ์ผ์ง์„ ์„ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์œผ๋กœ ๋‘์ž. ์ œ์ผ ์™ผ์ชฝ์˜ ๋„์‹œ์—์„œ ์ œ์ผ ์˜ค๋ฅธ์ชฝ์˜ ๋„์‹œ๋กœ ์ž๋™์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋™ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ ์‚ฌ์ด์˜ ๋„๋กœ๋“ค์€ ์„œ๋กœ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๋„๋กœ ๊ธธ์ด์˜ ๋‹จ์œ„๋Š” km๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒ˜์Œ ์ถœ๋ฐœํ•  ๋•Œ ์ž๋™์ฐจ์—๋Š” ๊ธฐ๋ฆ„์ด ์—†์–ด์„œ ์ฃผ์œ ์†Œ์—์„œ ๊ธฐ๋ฆ„์„ ๋„ฃ๊ณ  ์ถœ๋ฐœํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๊ธฐ๋ฆ„ํ†ต์˜ ํฌ๊ธฐ๋Š” ๋ฌด์ œํ•œ์ด์–ด์„œ ์–ผ๋งˆ๋“ ์ง€ ๋งŽ์€ ๊ธฐ๋ฆ„์„ ๋„ฃ์„ ์ˆ˜..

๐Ÿค–Algorithm/BOJ 2022. 7. 14. 16:17

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 10162๋ฒˆ: ์ „์ž๋ ˆ์ธ์ง€ 3๊ฐœ์˜ ์‹œ๊ฐ„์กฐ์ ˆ์šฉ ๋ฒ„ํŠผ A B C๊ฐ€ ๋‹ฌ๋ฆฐ ์ „์ž๋ ˆ์ธ์ง€๊ฐ€ ์žˆ๋‹ค. ๊ฐ ๋ฒ„ํŠผ๋งˆ๋‹ค ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ์ง€์ •๋˜์–ด ์žˆ์–ด ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๊ทธ ์‹œ๊ฐ„์ด ๋™์ž‘์‹œ๊ฐ„์— ๋”ํ•ด์ง„๋‹ค. ๋ฒ„ํŠผ A, B, C์— ์ง€์ •๋œ ์‹œ๊ฐ„์€ www.acmicpc.net ๋ฌธ์ œ ์„ค๋ช… 3๊ฐœ์˜ ์‹œ๊ฐ„์กฐ์ ˆ์šฉ ๋ฒ„ํŠผ A B C๊ฐ€ ๋‹ฌ๋ฆฐ ์ „์ž๋ ˆ์ธ์ง€๊ฐ€ ์žˆ๋‹ค. ๊ฐ ๋ฒ„ํŠผ๋งˆ๋‹ค ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ์ง€์ •๋˜์–ด ์žˆ์–ด ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๊ทธ ์‹œ๊ฐ„์ด ๋™์ž‘์‹œ๊ฐ„์— ๋”ํ•ด์ง„๋‹ค. ๋ฒ„ํŠผ A, B, C์— ์ง€์ •๋œ ์‹œ๊ฐ„์€ ๊ฐ๊ฐ 5๋ถ„, 1๋ถ„, 10์ดˆ์ด๋‹ค. ๋ƒ‰๋™์Œ์‹๋งˆ๋‹ค ์ „์ž๋ ˆ์ธ์ง€๋กœ ์š”๋ฆฌํ•ด์•ผํ•  ์‹œ๊ฐ„ T๊ฐ€ ์ดˆ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” A, B, C 3๊ฐœ์˜ ๋ฒ„ํŠผ์„ ์ ์ ˆํžˆ ๋ˆŒ๋Ÿฌ์„œ ๊ทธ ์‹œ๊ฐ„์˜ ํ•ฉ์ด ์ •ํ™•ํžˆ T์ดˆ๊ฐ€ ๋˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ ๋ฒ„ํŠผ A, B, C๋ฅผ ๋ˆ„..

๐Ÿค–Algorithm/BOJ 2022. 7. 14. 15:35