[c++] next_permutation ν•¨μˆ˜

jwΒ·2022λ…„ 2μ›” 3일
0

πŸ“˜ μ½”ν…Œ μ€€λΉ„ πŸ“˜

λͺ©λ‘ 보기
9/37

πŸ‘Šμˆœμ—΄(permutation) κ΅¬ν•˜κΈ°
c++의 algorithm ν—€λ”μ—λŠ” n개의 μ›μ†Œμ˜ μˆœμ—΄μ„ ꡬ할 수 μžˆλŠ” next_permutation ν•¨μˆ˜κ°€ μžˆλ‹€.
1. μˆœμ—΄μ„ ꡬ할 μ»¨ν…Œμ΄λ„ˆ(λ°°μ—΄)의 μ‹œμž‘κ³Ό 끝 iteratorλ₯Ό 인자둜 λ°›λŠ”λ‹€.
2-1. λ§Œμ•½ ν•΄λ‹Ή 배열에 λ‹€μŒ μˆœμ—΄μ΄ μ‘΄μž¬ν•˜λ©΄ κ·Έ λ°°μ—΄μ˜ μ›μ†Œλ₯Ό ν•΄λ‹Ή μˆœμ—΄ μˆœμ„œλ‘œ λ°”κΎΈκ³  true λ°˜ν™˜ν•œλ‹€.
2-2. λ‹€μŒ μˆœμ—΄ μ—†μœΌλ©΄ false λ°˜ν™˜

πŸš¨μ£Όμ˜ν•  점
1. μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λœ λ°°μ—΄(μ»¨ν…Œμ΄λ„ˆ)둜만 μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.
2. default둜 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μˆœμ—΄μ„ μƒμ„±ν•œλ‹€.
(μ—­μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³  μ‹Άλ‹€λ©΄ prev_permutation)
3. 쀑볡이 μžˆλŠ” μ›μ†Œλ“€μ€ μ œμ™Έν•˜κ³  μˆœμ—΄μ„ λ§Œλ“ λ‹€.

πŸ‘Šμ‘°ν•©(combination) κ΅¬ν•˜κΈ°
n개의 μ›μ†Œ μ€‘μ—μ„œ r개λ₯Ό λ½‘λŠ” 경우

profile
λ‹€μ‹œνƒœμ–΄λ‚˜κ³ μ‹Άμ–΄μš”

0개의 λŒ“κΈ€