๋ธ๋ฃจํธํฌ์ค
[PGM_42860] ์กฐ์ด์คํฑ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42860 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์กฐ์ด์คํฑ ์กฐ์ด์คํฑ์ผ๋ก ์ํ๋ฒณ ์ด๋ฆ์ ์์ฑํ์ธ์. ๋งจ ์ฒ์์ A๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ex) ์์ฑํด์ผ ํ๋ ์ด๋ฆ์ด ์ธ ๊ธ์๋ฉด AAA, ๋ค ๊ธ์๋ฉด AAAA ์กฐ์ด์คํฑ์ ๊ฐ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. โฒ - ๋ค programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค 1. ๋ฌธ์ ์ดํด ์ ๋ ฅ์ผ๋ก ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์๊ฐ ์ฃผ์ด์ง๋ฉด, ์กฐ์ด์คํฑ์ ์์ง์ฌ ๊ทธ ๋ฌธ์๋ฅผ ๋ง๋ค ๋ ์ต์ํ์ผ๋ก ์กฐ์ด์คํฑ์ ์์ง์ด๋ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์กฐ์ด์คํฑ์ ์,์๋ ๊ทธ๋ฆฌ๊ณ ์ข,์ฐ๋ก ์์ง์ผ ์ ์์ผ๋ฉฐ ์์ ์๋๋ก ์์ง์ด๋ ๊ฒฝ์ฐ ์ํ๋ฒณ์ด ๋ณ๊ฒฝ๋๊ณ ์ข์ฐ๋ก ์์ง์ด๋ฉด ํด๋น ๋ฌธ์์ ์์น..
[PGM_43165] ํ๊ฒ ๋๋ฒ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค - ์ฌ๊ท 2021.11.02 - [CordingTest/Algolithm] - ๋ธ๋ฃจํธํฌ์ค(2) ์ฌ๊ท ๋ฐฐ์ด๊ณผ ํ๊ฒ๋๋ฒ ๋๊ฐ์ ์ธํ์ด ๋ค์ด์จ๋ค. ์ด ๋ ๋ฐฐ์ด์ ๊ฐ์ ์ ๋นํ + ํน์ -๋ก ๋ฃ์ด์ฃผ์ด ๋ํด์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง์กฑ์ํค๋ ๊ฒฝ์ฐ์์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ฐฐ์ด์ ๊ฐ์๊ฐ ์ต๋ 20๊ฐ ..
[์นด์นด์ค] ์๊ถ๋ํ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/92342 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์๊ถ๋ํ ๋ฌธ์ ์ค๋ช ์นด์นด์ค๋ฐฐ ์๊ถ๋ํ๊ฐ ์ด๋ ธ์ต๋๋ค. ๋ผ์ด์ธ์ ์ ๋ฒ ์นด์นด์ค๋ฐฐ ์๊ถ๋ํ ์ฐ์น์์ด๊ณ ์ด๋ฒ ๋ํ์๋ ๊ฒฐ์น์ ๊น์ง ์ฌ๋ผ์์ต๋๋ค. ๊ฒฐ์น์ ์๋๋ ์ดํผ์น์ ๋๋ค. ์นด์นด์ค๋ฐฐ ์๊ถ๋ํ ์ด์์์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค (Test-Case 8๋ฒ๊ณผ 18๋ฒ์ด ํด๊ฒฐ์ด ๋์ง ์์ ํ์ด์ ๋๋ค..) ์๊ถ ๋ฌธ์ ๋ฅผ ๋ธ๋ฃจํธ ํฌ์ค๋ก ํด๊ฒฐํ๋ ค๊ณ ์๋ํ์๋ค. ์ดํผ์น์ ๋ผ์ด์ธ์ด ์๊ถ์ ์งํํ๋๋ฐ, ์ดํผ์น๊ฐ ๊ฐ ์ ์์ ๋ง์ถ ํ์ด์ ๊ฐ์๋ณด๋ค 1๊ฐ๋ง ๋ง์ผ๋ฉด ํด๋น ์ ์๋ฅผ ๋ผ์ด์ธ์ด ๊ฐ์ ธ๊ฐ๋ค. ๋ผ์ด์ธ์ด ์ ์์ฐจ๋ฅผ ๊ฐ์ฅ ํฌ๊ฒํด์ ์ด๊ธฐ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ๋จผ์ ..
BOJ_14888 ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ (Java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/14888 14888๋ฒ: ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(2 ≤ N ≤ 11)๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 100) ์ ์งธ ์ค์๋ ํฉ์ด N-1์ธ 4๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ, ์ฐจ๋ก๋๋ก ๋ง์ (+)์ ๊ฐ์, ๋บ์ (-)์ ๊ฐ์, www.acmicpc.net ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์ฐ์ฐ์๋ฅผ ๋ผ์ ๋ฃ๋ ๋ฌธ์ ๋ ๋ธ๋ฃจํธํฌ์ค๋ก ํด๊ฒฐํ์๋ค. ์ฐ์ฐ์์ ๊ฐ์๋ ์ซ์ ๋ฐฐ์ด์ ํฌ๊ธฐ -1 ์ด๋ฏ๋ก ์ต๋ 10๊ฐ์ด๋ค. 10๊ฐ๋ฅผ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ์ต๋ 10!์ด๋ฏ๋ก ์๊ฐ์ด๊ณผ ์์ด ํด๊ฒฐํ ์ ์๋ค. ๋ฐ๋ผ์, ๋ง๋ค์ ์๋ ๋ชจ๋ ์ฐ์ฐ์์ ๊ฒฝ์ฐ์์๋ฅผ ๋ง๋ค์ด์ค ๋ค ๊ณ์ฐํด ์ฃผ๋ฉด ์ฝ๊ฒ ํด..
๋ธ๋ฃจํธํฌ์ค(2) ์ฌ๊ท
์ฌ๊ท๋ฅผ ์ฐ๋ฉด ์ฌ๊ท๋ฅผ ์ฐ๋ฉด ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ธํ๋๋ก ๋ง๋ค ์ ์๋ค. ์ฌ๊ท๋ฅผ ์จ์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ธํ๋ ๊ฒฝ์ฐ๋ ๋๊ฐ์ง์ด๋ค. 1. ์์๊ฐ ์๋ ๊ฒฝ์ฐ(P) n๊ฐ์ ์๋ฅผ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ์์ด๋ค.(์ค๋ณต๊ฐ๋ฅ) -> O(n!) /** * index -> ํ์ฌ ์๋ฅผ ๋๋ ์์น * arr -> ํ์ธํ๋ ค๊ณ ๋ง๋๋ ๋ฐฐ์ด */ public void recursive1(int index, int[] arr){ if(index == arr.length){ //์ข ๋ฃ ์กฐ๊ฑด } for(int i = 1; i O(2^n) /** * index -> ํ์ฌ ์๋ฅผ ๋๋ ์์น * arr -> ํ์ธํ๋ ค๊ณ ๋ง๋๋ ๋ฐฐ์ด */ public void recursive2(int cnt, int[] arr, int value, int n){ if(ind..
๋ธ๋ฃจํธํฌ์ค(1) - ๋ฌด์์ ํด๋ณด๊ธฐ
๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํด๋ณด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ฌด์์ ๋ฐ๋ณต๋ฌธ์ ๋๋ ค ๊ตฌํ ์๋ ์๋ค. ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ ์์ ๋ฌธ์ : n์ด ์ฃผ์ด์ก์๋, 1๋ถํฐ n ์ค์ 2์ ๋ฐฐ์์ ์๋? (1