πŸ“μˆœμ—΄ 쑰합을 κ³΅μ‹μ‚¬μš©ν•˜μ§€ μ•Šκ³  κ΅¬ν˜„ν•˜κΈ°

10_2pangΒ·2023λ…„ 6μ›” 5일
0

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
59/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


nCr κ³Ό 같은 쑰합을 기쑴의 곡식을 μ‚¬μš©ν•˜μ§€μ•Šκ³  κ΅¬ν˜„ν•˜λŠ” 문제λ₯Ό μ ‘ν•˜μ˜€λ‹€. μ²˜μŒμ—λŠ” 감이 μž‘νžˆμ§€μ•Šμ•„ λ¨Όμ € nCr = (n-1)C(r-1) + (n-1)C(r) 이 λ˜λŠ” μ΄μœ λΆ€ν„° μ‚΄νŽ΄λ³΄λ©΄μ„œ DFS λ₯Ό κ΅¬ν˜„ν•˜μ˜€λ‹€.

βœ…Β ν•΄κ²°


nCrnCr 의 μ˜ˆμ‹œλ‘œ 5C35C3 이라고 μƒκ°ν• λ•Œ,
1~5 κΉŒμ§€μ˜ μˆ«μžμ—μ„œ 3κ°€μ§€λ₯Ό λ½‘μ•„μ„œ μƒκΈ°λŠ” 경우의 수λ₯Ό μ΄μ•ΌκΈ°ν•œλ‹€.

λ§Œμ•½ 5λ₯Ό κΈ°μ€€μœΌλ‘œ ν• λ•ŒλŠ”, μžμ‹ μ„ ν¬ν•¨ν•΄μ„œ 3κ°€μ§€λ₯Ό λ½‘λŠ”κ²½μš°μ˜ μˆ˜μ™€ μžμ‹ μ„ μ œμ™Έν•œ 경우의 수λ₯Ό ν•©ν•œ κ²½μš°μ™€ κ°™λ‹€.

μ΄λ•Œ, μžμ‹ μ„ ν¬ν•¨ν•œ 경우의 수λ₯Ό μƒκ°ν•˜λ©΄ μžμ‹ μ€ fix 둜 λ°•ν˜€μžˆκ³  λ‚˜λ¨Έμ§€ μˆ˜λ“€(1~4) 쀑 2κ°€μ§€λ₯Ό λ½‘λŠ” 경우의 μˆ˜μ™€ κ°™λ‹€.

μžμ‹ μ„ μ œμ™Έν•œ 경우의 수λ₯Ό μƒκ°ν•˜λ©΄ λ‚˜λ¨Έμ§€μˆ˜λ“€(1~4) μ—μ„œ 3κ°€μ§€μ˜ 경우의 수λ₯Ό λ½‘λŠ” μˆ˜μ™€κ°™λ‹€.

이λ₯Ό λ”ν•˜λ©΄ 5C35C3 의 κ°’κ³Ό λ™μΌν•˜λ‹€.

이제 μœ„λ₯Ό ν† λŒ€λ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•΄λ³΄λ©΄,

function DFS(n,r){	
	if(r===0||n===r) return 1;
	else return DFS(n - 1, r - 1) + DFS(n - 1, r))
}

μœ„μ™€ κ°™λ‹€.

profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€