Skip to content

ComputerScience ​

컴퓨터 κ³Όν•™ 전곡지식 κ΄€λ ¨ ν¬μŠ€νŠΈλ“€μž…λ‹ˆλ‹€.

Javascript μž¬κ·€ν•¨μˆ˜λ‘œ ν’€μ–΄λ³΄λŠ” μˆœμ—΄(Permutation)

μž¬κ·€ν•¨μˆ˜λ₯Ό ν™œμš©ν•˜μ—¬ μˆœμ—΄(Permutation) 을 κ΅¬ν˜„ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. SWAP 기반 방식과 DFS 기반 방식을 λΉ„κ΅ν•΄λ΄…λ‹ˆλ‹€.

같은 μž…λ ₯은 같은 κ²°κ³Ό - μž₯λ°”κ΅¬λ‹ˆμ™€ ν•΄μ‹œ ν•¨μˆ˜λ‘œ λ°°μš°λŠ” λ©±λ“±μ„± (ν•΄μ‹œ ν…Œμ΄λΈ”)

ν•΄μ‹œν…Œμ΄λΈ”μ˜ 핡심은 같은 킀에 같은 값이 λ§€ν•‘λœλ‹€λŠ” λ‹¨μˆœν•œ μ›λ¦¬μž…λ‹ˆλ‹€. ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ μž₯λ°”κ΅¬λ‹ˆ κΈ°λŠ₯을 κ΅¬ν˜„ν•  λ•Œ λ©±λ“±μ„±(idempotency) 원칙을 μ‚¬μš©ν•΄ ν•΄κ²°ν•˜λŠ” 방법을 μ•Œμ•„λ΄…λ‹ˆλ‹€. 규λͺ¨κ°€ μž‘λ‹€λ©΄ λ‹¨μˆœ 순회 λΉ„κ΅λ‘œ μΆ©λΆ„ν•˜μ§€λ§Œ, ν™•μž₯μ„±/μž¬μ‚¬μš©μ΄ ν•„μš”ν•˜λ©΄ μ •κ·œν™”λœ ν•΄μ‹œ ν•¨μˆ˜λ₯Ό λ„μž…ν•˜λŠ” 방법도 μ‚΄νŽ΄λ΄…λ‹ˆλ‹€.