next_permutation 1

[C++ / Algorithm] ์ˆœ์—ด(next_permutation) ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์กฐํ•ฉ(Combination) ๊ตฌํ•˜๊ธฐ

์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” next_permutation ํ•จ์ˆ˜ ์ˆœ์—ด ์ˆ˜ํ•™์ ์œผ๋กœ ์ˆœ์—ด(permutation)์ด๋ž€ ์„œ๋กœ ๋‹ค๋ฅธ n๊ฐœ์˜ ์›์†Œ์—์„œ r๊ฐœ๋ฅผ ๋ฝ‘์•„ ํ•œ ์ค„๋กœ ์„ธ์šฐ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์›์†Œ๋ฅผ ํ•œ ์ค„๋กœ ์„ธ์šฐ๊ธฐ ๋•Œ๋ฌธ์— ์›์†Œ์˜ ์กฐํ•ฉ์ด ๊ฐ™๋”๋ผ๋„ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ด…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ง‘ํ•ฉ {1, 2, 3}์˜ ์›์†Œ๋“ค์˜ ๋ชจ๋“  ์ˆœ์—ด์„ ๊ตฌํ•œ๋‹ค๋ฉด {1, 2, 3} {1, 3, 2} {2, 1, 3} {2, 3, 1} {3, 1, 2} {3, 2, 1} ๋กœ ์ด 6๊ฐ€์ง€๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. next_permutation C++์˜ algorithm ํ—ค๋”์—๋Š” n๊ฐœ์˜ ์›์†Œ์˜ ์ˆœ์—ด์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” next_permutation์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์  ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1 2 3 4 5 6 7 // default boo..

Language/C++ 2020.06.26