[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ํƒ€๊ฒŸ๋„˜๋ฒ„ (brute force, ๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 19. 23:46

ํƒ€๊ฒŸ ๋„˜๋ฒ„ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/43165 ๋ฌธ์ œ ์„ค๋ช… n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers, ํƒ€๊ฒŸ ๋„˜๋ฒ„ target์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์ˆซ์ž๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ณ  ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ์ฃผ์–ด์ง€๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ ์ด์ƒ ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์œ„์žฅ (ํ•ด์‹œ, ๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 13. 11:05

์œ„์žฅ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/42578 ๋ฌธ์ œ ์„ค๋ช… ์ŠคํŒŒ์ด๋“ค์€ ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…์–ด ์ž์‹ ์„ ์œ„์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ  ์˜ค๋Š˜ ์ŠคํŒŒ์ด๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜ ์ด๋ฆ„ ์–ผ๊ตด ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค ์ƒ์˜ ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ  ํ•˜์˜ ์ฒญ๋ฐ”์ง€ ๊ฒ‰์˜ท ๊ธด ์ฝ”ํŠธ ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ๋“ค์ด ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด clothes๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ท์˜ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ clothes์˜ ๊ฐ ํ–‰์€ [์˜์ƒ์˜ ์ด๋ฆ„, ์˜์ƒ์˜ ์ข…๋ฅ˜]๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค...

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๋‹จ์ฒด์‚ฌ์ง„์ฐ๊ธฐ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ, ์นด์นด์˜ค ๋ณธ์„  ๋ฌธ์ œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 13. 00:09

๋‹จ์ฒด์‚ฌ์ง„ ์ฐ๊ธฐ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/1835 ๋ฌธ์ œ ์„ค๋ช… ๊ฐ€์„์„ ๋งž์•„ ์นด์นด์˜คํ”„๋ Œ์ฆˆ๋Š” ๋‹จ์ฒด๋กœ ์†Œํ’์„ ๋– ๋‚ฌ๋‹ค. ์ฆ๊ฑฐ์šด ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ณ  ๋งˆ์ง€๋ง‰์— ๋‹จ์ฒด์‚ฌ์ง„์„ ์ฐ๊ธฐ ์œ„ํ•ด ์นด๋ฉ”๋ผ ์•ž์— ์ผ๋ ฌ๋กœ ๋‚˜๋ž€ํžˆ ์„ฐ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐฐ์น˜๊ฐ€ ๋ชจ๋‘ ๋‹ฌ๋ผ ์–ด๋–ค ์ˆœ์„œ๋กœ ์„ค์ง€ ์ •ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ๋„ค์˜ค๋Š” ํ”„๋กœ๋„์™€ ๋‚˜๋ž€ํžˆ ์„œ๊ธฐ๋ฅผ ์›ํ–ˆ๊ณ , ํŠœ๋ธŒ๊ฐ€ ๋ฟœ์€ ๋ถˆ์„ ๋งž์€ ์ ์ด ์žˆ๋˜ ๋ผ์ด์–ธ์€ ํŠœ๋ธŒ์—๊ฒŒ์„œ ์ ์–ด๋„ ์„ธ ์นธ ์ด์ƒ ๋–จ์–ด์ ธ์„œ ์„œ๊ธฐ๋ฅผ ์›ํ–ˆ๋‹ค. ์‚ฌ์ง„์„ ์ฐ๊ณ  ๋‚˜์„œ ๋Œ์•„์˜ค๋Š” ๊ธธ์—, ๋ฌด์ง€๋Š” ๋ชจ๋‘๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด์„œ๋„ ๋‹ค๋ฅด๊ฒŒ ์„œ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€ ์•Š์•˜์„๊นŒ ์ƒ๊ฐํ•ด๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฐ ํ”„๋ Œ์ฆˆ๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ ๋ชจ๋“  ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ (BFS, DFS)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 9. 13. 00:01

๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ธฐ๋ฒ•์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์ธ BFS(Breadth-First Search)์™€ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์ธ DFS(Depth-First Search)์ด๋‹ค. BFS BFS๋Š” ํ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค. ์„ค๋ช… ํŠธ๋ฆฌ๋กœ ์˜ˆ๋ฅผ ๋“ค์—ˆ์ง€๋งŒ, ๋ชจ๋“  ๊ทธ๋ž˜ํ”„์—์„œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋™์ž‘ํ•œ๋‹ค. ๋ฃจํŠธ ๋…ธ๋“œ๋ฅผ queue์— ๋„ฃ๋Š”๋‹ค. queue์˜ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜ ๊บผ๋‚ธ ํ›„, ํ•ด๋‹น ๋…ธ๋“œ์™€์˜ ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ queue์— ๋„ฃ๋Š”๋‹ค. ์œ„์˜ ๋ฐฉ์‹์„ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. stack์— ๋“ค์–ด๊ฐ„ ์ˆœ์„œ๋ฅผ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1=>2=>3=>4=>5=>6=>7=>8 ๋”ฐ๋ผ์„œ ํŠธ๋ฆฌ์—์„œ BFS๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํƒ์ƒ‰์„ ํ•˜๋Š” ๊ฒƒ์€ ๋ ˆ๋ฒจ ์ˆœํšŒ๋ฅผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. DFS DFS๋Š” ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค. ์„ค๋ช… ํŠธ๋ฆฌ๋กœ ์˜ˆ๋ฅผ ๋“ค..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ, ํ•ด์‹œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 9. 09:00

์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/42576# ๋ฌธ์ œ ์„ค๋ช… ์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด completion์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ๋งˆ๋ผํ†ค ๊ฒฝ๊ธฐ์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜์˜ ์ˆ˜๋Š” 1๋ช… ์ด์ƒ 100,000๋ช… ์ดํ•˜์ž…๋‹ˆ๋‹ค. completion์˜ ๊ธธ์ด๋Š” participant์˜ ๊ธธ์ด๋ณด๋‹ค 1 ์ž‘์Šต๋‹ˆ๋‹ค. ์ฐธ๊ฐ€์ž์˜ ์ด๋ฆ„์€ 1๊ฐœ ์ด์ƒ 20๊ฐœ ์ดํ•˜์˜ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์ž…๊ตญ์‹ฌ์‚ฌ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ, ์ด๋ถ„ ํƒ์ƒ‰)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 9. 08:58

์ž…๊ตญ์‹ฌ์‚ฌ https://programmers.co.kr/learn/courses/30/lessons/43238 ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… n๋ช…์ด ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ์œ„ํ•ด ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž…๊ตญ์‹ฌ์‚ฌ๋Œ€์— ์žˆ๋Š” ์‹ฌ์‚ฌ๊ด€๋งˆ๋‹ค ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ์‹ฌ์‚ฌ๋Œ€๋Š” ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‹ฌ์‚ฌ๋Œ€์—์„œ๋Š” ๋™์‹œ์— ํ•œ ๋ช…๋งŒ ์‹ฌ์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์•ž์— ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋น„์–ด ์žˆ๋Š” ์‹ฌ์‚ฌ๋Œ€๋กœ ๊ฐ€์„œ ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋” ๋นจ๋ฆฌ ๋๋‚˜๋Š” ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ์žˆ์œผ๋ฉด ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๊ทธ๊ณณ์œผ๋กœ ๊ฐ€์„œ ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œ๋กœ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‚ฌ๋žŒ ์ˆ˜ n, ๊ฐ ์‹ฌ์‚ฌ๊ด€์ด ํ•œ ๋ช…์„ ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด times๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์‚ฌ..

[NERA ํ›„๊ธฐ] CSUOS ์ฒซ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•จ๊ป˜ํ•˜๋ฉด์„œ ๋Š๋‚€ ๊ฒƒ๋“ค
๋„์ ์ด๋Š” ๊ธ€/๊ฐœ๋ฐœ์ž๋กœ์„œ ๋„์ ์ด๋Š” ๊ธ€ 2020. 9. 7. 16:32

csuos ๋ธ”๋กœ๊ทธ์—๋„ ๊ฐ™์€ ๊ธ€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘‰ csuos.github.io/nera-review-heeeun ์•ˆ๋…•ํ•˜์„ธ์š”, CSUOS์˜ ์ฒซ ํ”„๋กœ์ ํŠธ NERA์—์„œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋งก๊ณ  ์žˆ๋Š” '์šฐํฌ์€'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ(2020-09-04์ผ ๊ธฐ์ค€) CSUOS์˜ ๋ฉค๋ฒ„๋ฅผ ๋ชจ์ง‘ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ํ˜น์‹œ๋‚˜ ์ง€์›์„ ๋ง์„ค์ด์‹œ๋Š” ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋ ๊นŒํ•ด์„œ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ, CSUOS๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€ ๋Š๋‚€ ์ ์ด๋‚˜ ์–ป์€ ๊ฒƒ๋“ค์„ ์ง„์†”ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜ƒ CSUOS์˜ ์‹œ์ž‘ ์ฒ˜์Œ CSUOS๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋œ ๊ฑด ํŽ˜์ด์Šค๋ถ์—์„œ ๋ชจ์ง‘๊ณต๊ณ ๋ฅผ ๋ณด์•˜์„ ๋•Œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ NERA์˜ ํ”„๋กœ์ ํŠธ ๋งค๋‹ˆ์ €์ด์‹  '์ด์™„ํ•ด' ํ•™์šฐ๋‹˜์ด ์˜ฌ๋ฆฌ์‹  ๊ณต๊ณ ๋ฅผ ๋ณด๊ณ  ์ง€์›ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. NERA ๋ชจ์ง‘ ๊ณต๊ณ  : h..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์ˆœ์—ด๊ณผ ์กฐํ•ฉ (์ฝ”๋“œ, next_permutation ์ด์šฉ, ์ง์ ‘ ๊ตฌํ˜„)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 9. 7. 10:44

์ˆœ์—ด๊ณผ ์กฐํ•ฉ ์ˆœ์—ด ์ •์˜ ์ˆœ์—ด์€ ์ค‘๋ณต์—†์ด n๊ฐœ ์ค‘ r๊ฐœ๋ฅผ ๋ฝ‘์•„ ์ˆœ์„œ๋ฅผ ์ •ํ•ด ๋‚˜์—ดํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ A, B, C ์„ธ๊ฐ€์ง€ ์›์†Œ๊ฐ€ ์žˆ์„ ๋•Œ, 2๊ฐœ๋ฅผ ๋ฝ‘์•„ ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์„ 3P2๋ผ๊ณ  ํ•œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋ฏ€๋กœ ์ด 6๊ฐ€์ง€ ์ด๋‹ค. ์ˆœ์—ด์€ P(Permutation)๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. $$ {}n\mathrm{P}{r} = \frac{n!}{(n-r)!} $$ ์ค‘๋ณต ์ˆœ์—ด์ด๋ผ๋Š” ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๋Š” ์ˆœ์—ด ์ค‘ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๊ฒƒ์„ ๋‹ค์‹œ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ์ค‘๋ณต ์ˆœ์—ด์€ Π๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. $$ {n}\mathrm{\pi}{r} = n^r $$ ๊ตฌํ˜„ ์ˆœ์—ด // ์ง์ ‘ ๊ตฌํ˜„ void swap(vector& set, int a, int b){ int tmp = set[a]; ..