๐ ๋ฌธ์
๐ฑ ์์ด๋์ด
๋ณธ๋ฌธ์์ "๋ค๋ฆฌ๋ ์๋ก ๊ฒน์น ์ ์๋ค." ๋ผ๋ ์กฐ๊ฑด์ด ํ๋ ๋ถ๋๋ฐ ์ด๋ฒ ๋ฌธ์ ์ ํค ํฌ์ธํธ์ด๋ค.
"๋ค๋ฆฌ๋ ์๋ก ๊ฒน์น ์ ์๋ค." ๋ผ๋ ๋ง์ ๊ณง ์์๋ฅผ ๊ณ ๋ คํ์ง ์๋๋ค ๋ ๋ง๊ณผ ๊ฐ๋ค.
๋ ๊ทธ๋ฆผ์ ๊ฐ์ ์ฌ์ดํธ์ ๋ค๋ฆฌ๋ฅผ ์๋ ๊ฒฝ์ฐ์ ์์ด๋ค. ์์๋ฅผ ๊ณ ๋ คํ๋ค๋ฉด ๋ ๊ฒฝ์ฐ๋ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋์ด์ผ ํ๋ค.
A, B, C != A, C, B ์ด ๊ฒฝ์ฐ๋ ์์๋ฅผ ๊ณ ๋ คํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๊ฐ์๋ ์์๊ฐ ๋ฌ๋ผ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ์ด๋ค.
ํ์ง๋ง ๋ฌธ์ ์กฐ๊ฑด ์ค "๋ค๋ฆฌ๋ ์๋ก ๊ฒน์น ์ ์๋ค." ๋ฅผ ์ฑ๋ฆฝํ๋ ค๋ฉด ์ ๋ ๊ทธ
๋ฆผ์ ๊ฐ์ ๊ฒฝ์ฐ์ ์๊ฐ ๋์ด์ผ ํ๋ค!
์ค๋ณต์ ์ ๊ฑฐํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ A, B, C == A, C, B ์ด ์ฑ๋ฆฝ๋์ด์ผ ์ค๋ณต์ด ์ ๊ฑฐ๊ฐ ๋๋ฉฐ ํ๋์ ๊ฒฝ์ฐ๋ก ๋ณธ๋ค.
์ด ๋ฌธ์ ๋ M๊ฐ์์ N๊ฐ๋ฅผ ๋ฝ๊ณ ์ค๋ณต์ ์ ๊ฑฐํด์ผ ํ๊ธฐ ๋๋ฌธ์
์กฐํฉ ๊ณต์์ ์ฌ์ฉํด์ผ ํ๋ค.
๐ฑ ์ฝ๋ ๋ฐ ํ์ด
nCr ์กฐํฉ ๊ณต์์ผ๋ก ํ์ด๋ ๊ด์ฐฎ์ง๋ง ์กฐํฉ๊ณต์ ์ฑ์ง์ ์ฌ์ฉํ ์ ์๋ค.
์กฐํฉ๊ณต์ ์ฑ์ง = n+1Cr+1 = nCr + nCr+1 ์ ์ด์ฉํ์ฌ ๋์ ๊ณํ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์!
dp๋ฐฐ์ด ์์ฑ ํ 1~30C1~30 ๋ชจ๋ ์กฐํฉ ๊ฒฝ์ฐ๋ฅผ dp๋ฐฐ์ด์ ์ ์ฅํ๋ค.
dp[i][j] ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ ์ผ์ชฝ ํญ "+1" ๋ ๊ฒ์ ์ค๋ฅธ์ชฝ ํญ์ "+1"์ ์ ์ฉํด ์ค๋ค.
์ ํ์ : dp[i][j] = dp[i-1][j-1] + dp[i-1][j];
๐ฑ ๋๋ ์
์ค๋๋ง์ ์กฐํฉ๊ณต์์ ์ฌ์ฉํด ๋ณธ ๊ฒ ๊ฐ์์ ๋๊ฒ ํท๊ฐ๋ ธ์๋คใ ใ
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ํํ์ด ํ๋ฉด์ ์ํ๊ณต์๋ ๋ณต์ตํด์ผ๊ฒ ๋ค
https://www.youtube.com/watch?v=42x7PSL0X7M -> ์กฐํฉ ๊ณต์์ ๋ง์๊ฒ ์ค๋ช ํด ์ค ๐
'Algorithm > - Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 18111 ๋ง์ธํฌ๋ํํธ (JAVA) (2) | 2023.12.21 |
---|---|
[BOJ] ๋ฐฑ์ค 1309 ๋๋ฌผ์ (JAVA) (2) | 2023.12.18 |
[BOJ] ๋ฐฑ์ค 11724 ์ฐ๊ฒฐ ์์์ ๊ฐ์ (JAVA) (2) | 2023.12.14 |
[BOJ] ๋ฐฑ์ค 14502 ์ฐ๊ตฌ์ (JAVA) (0) | 2023.12.13 |
[BOJ] ๋ฐฑ์ค 25206 ๋์ ํ์ ์ (JAVA) (0) | 2023.12.11 |
๋๋ง์ ๊ฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค!
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!