์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
22
[์๋ฃ๊ตฌ์กฐ] ๊ทธ๋ํ๋ฅผ ์๋ฃ๊ตฌ์กฐ๋ก ๋ํ๋ด๋ณด์!
(0) ๊ทธ๋ํ๋?a. ์ ์๊ฐ์ ๋ด๊ณ ์๋ ์ ์ (Vertex)์ ๊ทธ ์ ์ ๋ค์ ์๋ ๊ฐ์ (Edge)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ ์๋ฃ๊ตฌ์กฐb. ๊ทธ๋ํ ๊ด๋ จ ์ฉ์ด์ฉ์ด๋ป์ ์ (Vertex or Node)๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ๊ฐ์ (Edge)์ ์ ๊ณผ ์ ์ ์ ์๋ ์ ์ธ์ ํ๋ค.์ ์ A์ B๊ฐ ๊ฐ์ ์ผ๋ก ์ด์ด์ ธ ์์ผ๋ฉด, ์ ์ A์ B๋ ์๋ก ์ธ์ ํ๋ค.๋ผ๊ณ ํ๋ค. ์ธ์ ์ ์ : ํ๋์ ์ ์ A์ ๊ฐ์ ์ผ๋ก ์ด์ด์ ธ ์๋ ์ ์ ๋ค์ ์ธ์ ์ ์ ์ด๋ผ๊ณ ํ๋ค. ์์ ์์์์ B๋ A์ ์ธ์ ์ ์ ์ด๋ค.์ฐจ์ํ๋์ ์ ์ A์ ์ฐ๊ฒฐ๋ ๊ฐ์ ์ ๊ฐ์์ด๋ค. a์ ์์์์ ์ ์ 2์ ์ฐจ์๋ 3์ด๊ณ ์ ์ 4์ ์ฐจ์๋ 4์ด๋ค. ์ง์
์ฐจ์: ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์์ ์ธ๋ถ๋ก๋ถํฐ ๋ค์ด์ค๋ ๊ฐ์ ์ ๊ฐ์๋ฅผ ๋งํ๋ค. ์ง์ถ ์ฐจ์: ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์์ ์ธ๋ถ๋ก ๋ป์ด๋๊ฐ๋ ๊ฐ์ ์ ๊ฐ์๋ฅผ ๋งํ๋ค...
2024.07.12
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
DFS์ BFS
[toc]1. DFS(๊น์ด ์ฐ์ ํ์)(1) ์ ์๊ทธ๋ํ ํ์ ๊ธฐ๋ฒ ์ค ํ๋์ด๋ค.DFS๋ ์์ ์ ์ ์์ ๊ฐ ์ ์๋ ๋ถ๊ธฐ๋ค ์ค ํ๋๋ฅผ ํํ์ฌ, ํด๋น ๋ถ๊ธฐ์์ ๊ฐ ์ ์๋ ์ต๋ ๊น์ด๊น์ง ํ์ํ ํ, ๋ค์ ๋ถ๊ธฐ๋ก ๋์ด๊ฐ์ ๊ฐ์ ์์
์ ๋ฐ๋ณตํ๋ ์์ ํ์ ๊ธฐ๋ฒ์ด๋ค.ํด๋น Tree ๊ตฌ์กฐ๋ฅผ DFS๋ก ์ํํ๋ฉด, 1->2->3->4->5->6->7->8->9->10->11->12->13 ์์ผ๋ก ์กฐํํ๋ค.(2) ์๊ฐ ๋ณต์ก๋O(V+E)V: ์ ์ , E: ๊ฐ์ (3) ๊ตฌํ ๋ฐฉ๋ฒ์ฌ๊ท๋ฅผ ์ด์ฉํด ๊ตฌํํ๋ค. (์ฌ๊ท๊ฐ ๊ฐ์ง๋ stack์ ์ฑ์ง ์ด์ฉ)๋ฐฉ๋ฌธ๋ฐฐ์ด์ ํ์ฉํ์ฌ, ํ ๋ฒ ๋ฐฉ๋ฌธํ ๋
ธ๋๋ ์ฌ๋ฐฉ๋ฌธํ์ง ์๋ ๊ฒ์ด ํต์ฌ์ด๋ค.์ฌ์ ์ธํ
: ๋ฐฉ๋ฌธ ๋ฐฐ์ด ๋ง๋ค๊ธฐ, ๊ทธ๋ํ๋ฅผ ์ธ์ ํ๋ ฌ ํน์ ์ธ์ ๋ฆฌ์คํธ๋ก ํํ์ฌ๊ท ํจ์๋ฅผ ๋ง๋ค์ด DFS ๊ตฌํpublic st..
2024.07.11
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
์์ ํ๋ณ๋ฒ (๋ฑ๊ฐ์ ์ซ์์ ๋ํ์ฌ, ์๋ผํ ์คํ
๋ค์ค์ ์ฒด) Java
1. ํ๋์ ์ซ์์ ๋ํ ์์ ํ๋ณ(1) ๋ฐฉ๋ฒํ๋ณํด์ผํ ์ซ์๋ฅผ N์ด๋ผ๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก N์ด ์์์ธ์ง ์ฌ๋ถ๋ฅผ ํ๋ณํ ์ ์๋ค.int N = Integer.parseInt(br.readLine());for(int i = 2; i(2) ์ √N๊น์ง๋ง ํ์ธํ๋ฉด ๋๋์?์๋ฅผ ๋ค์ด์ ์ค๋ช
ํด๋ณด๊ฒ ๋ค. N == 64๋ผ๋ฉด,√N์ 8์ด๋ค.ab = 64๋ผ๋ฉด √N ์ 8*8 ์ฒ๋ผ a์ b๊ฐ ๊ฐ์ ์์ด๋ค.๋ง์ฝ a ๋ฐ๋ผ์ a √N ์ด ๋๋ฉด ๋ฐ์๋์ ์ผ๋ก b > √N ์ด ๋๋ค.๋ฐ๋ผ์ ๋ง์ฝ์ ํน์ ์ N์ ๋ํ์ฌ 2 ~ √N๊น์ง์ ์ ์ค์ ๋๋์ด ๋จ์ด์ง๋ ์๊ฐ ์๋ค๋ฉด, √N๋ณด๋ค ํฐ ์ ์ค์์๋ ๋๋์์ ๋, ๋๋์ด ๋จ์ด์ง๋ ์ซ์๊ฐ ์๋ค๋ ๋ง์ด๋ค.์๋ํ๋ฉด 2 ~ √N์ ์ ์ค N์ ๋๋์์ ๋, ๋๋์ด ๋จ์ด์ง๋ a๋ ์๊ฐ ..
2024.07.11
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐ค ์๊ฐ ๋ณต์ก๋์ ๊ฐ๋
๊ณผ ์ฝ๋ฉ ํ
์คํธ์์์ ํ์ฉ๋ฒ
1. ์๊ฐ ๋ณต์ก๋ ๋?(1) ๊ฐ๋
์๊ฐ ๋ณต์ก๋๋ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํ์ํ ์ฐ์ฐ ํ์๋ฅผ ๋งํ๋ค.(2) ํ๊ธฐ ๋ฐฉ๋ฒ์ ์ข
๋ฅ์๊ฐ ๋ณต์ก๋๋ฅผ ํ๊ธฐํ๋ ๋ฐฉ๋ฒ์๋ ๋ค์์ 3 ๊ฐ์ง๊ฐ ์๋ค.์ด๋ฆ์ค๋ช
๋น
-์ค๋ฉ๊ฐ ํ๊ธฐ๋ฒ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ฃผ์ด์ง ์ํฉ์ด ์ต์ ์ ์ํฉ์ผ ๋ ํ์ํ ์ฐ์ฐ ํ์๋ฅผ ๋ํ๋ด๋ ํ๊ธฐ๋ฒ๋น
-์ธํ ํ๊ธฐ๋ฒ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ฃผ์ด์ง ์ํฉ์ด ๋ณดํต์ ์ํฉ์ผ ๋ ํ์ํ ์ฐ์ฐ ํ์๋ฅผ ๋ํ๋ด๋ ํ๊ธฐ๋ฒ๋น
-์ค ํ๊ธฐ๋ฒ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ฃผ์ด์ง ์ํฉ์ด ์ต์
์ ์ํฉ์ผ ๋ ํ์ํ ์ฐ์ฐ ํ์๋ฅผ ๋ํ๋ด๋ ํ๊ธฐ๋ฒ์๋ฅผ ๋ค์ด ์ค๋ช
1~100์ ์ซ์๊ฐ ๋๋คํ ์์๋ก ์ ์ฅ๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋, ํด๋น ๋ฐฐ์ด์์ 56์ INDEX๋ฅผ ์ฐพ์์ ์ถ๋ ฅํ๋ผ ๋ผ๋ ๋ฌธ์ ๋ฅผ ํ์ด์ผ ํ๋ค๊ณ ํ์.์ด๋ ๋ด๊ฐ ์ ํํ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์ผ์ผํ ์กฐํ์ด๋ค.๋น
-์ค..
2024.06.13
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐ค ์๊ณ ๋ฆฌ์ฆ ์ด๋ก - ์์ด๊ณผ ์กฐํฉ [JAVA]
0. ์ค๋ช
ํ๋ ค๋ ๊ฒ (1) ์์ด, ์กฐํฉ, ์ค๋ณต ์์ด, ์ค๋ณต ์กฐํฉ์ ์ ์ (2) JAVA ์ธ์ด๋ฅผ ์ผ์ ๋, ๊ตฌํ ๋ฐฉ๋ฒ 1. ์์ด (1) ์์ด์ ๋ป nPr = n ๊ฐ ์ค์์ r๊ฐ๋ฅผ ์ค๋ณต ์์ด ๋ฝ์์ ์์ ์๊ฒ ๋์ดํ๋ ๊ฒ์ ๋งํ๋ค. ๋ฐ๋ผ์ {1, 2, 3, 4, 5} ์ค 5P3 ์์ {1, 2, 3} ๊ณผ {1, 3, 2}๋ ๋ค๋ฅธ ์ซ์์ด๋ค. (2) ๊ตฌํ ๋ฐฉ๋ฒ ์์ด์ ์ฌ๊ท๋ก ๊ตฌํํ๋ค. ์์ด์ ์ฌ๊ท๋ก ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์์๋ค์ด ํ์ํ๋ค. ์ ์ฒด ์์๋ค์ ๋ํ ๋ฐฉ๋ฌธ ๋ฐฐ์ด isVisited [] : ์์ด๋ก ๊ฐ์ ๋ฝ์ ๋, ์ค๋ณต์ด ์์ด์ผ ํ๋ฏ๋ก, ๋ฐฉ๋ฌธ ๋ฐฐ์ด์ ํตํด, ์ด๋ฏธ ๋ฐฉ๋ฌธํ ์ง์ ์ ๊ทธ๋ฅ ์ง๋์น๋๋ก ๊ตฌํ ํด์ผ ํ๋ค. ๋ฝํ r๊ฐ์ ์์๋ฅผ ๋ด์ ๋ฐฐ์ด output [] : ์ ์ฒด ์์๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ arr ..
2024.04.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐คLIS ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ก ๊ณผ ๊ตฌํ
1. LIS๋?LIS๋ Longest Increasing Subsequence์ ์ฝ์๋ก ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๋ปํ๋ค. LIS ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ ์ ์ฒด ์์ด์ ์ฃผ์ด์ง๊ณ , ๊ทธ ์์์ ๊ฐ์ฅ ๊ธธ๊ณ , ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํด์ผ ํ๋ ๋ฌธ์ ๋ค์ ์ด์นญ์ด๋ค. ๋ ๋ถ๋ถ ์์ด์ด ๋ฌด์์ธ์ง๋ถํฐ ํท๊ฐ๋ ธ๋ค. ๋ฐ๋ผ์ ๋จผ์ ์ํ์ ๋ฐฐ๊ฒฝ์ง์์ ๊ณต๋ถํ๊ณ , ๋ง์ ์ค๋ช
ํ๊ฒ ๋ค.1-1. ๋ถ๋ถ ์์ด์ด๋ ๋ฌด์์ธ๊ฐ? ์์ด์ ์๊ฐ ํ๋์ ์ด๋ก ๋์ด๋ ํํ๋ฅผ ๋ปํ๋ค. (ํ๊ตฐํ๋ ๊ตฐ์ธ์ ๋ ์ฌ๋ ค๋ณด๋ผ!) ์ฌ๊ธฐ์ ๋ถ๋ถ์์ด์ด๋ ์ฃผ์ด์ง ์์ด์ ์ผ๋ถ ํญ์ ์๋ ์์๋๋ก ๋์ดํ์ฌ ์ป์ ์ ์๋ ์์ด ์ ๋ปํ๋ค. ๋ง์ฝ ์ ์ฒด ์์ด S ๊ฐ {1,2,3,4,5,6,7,8,9,10}์ด๋ผ๋ฉด {1}, {2,4,6,8,10}, {2,4,6}, {8,9,10} ๋ชจ๋ S์ ๋ถ๋ถ..
2024.01.05
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก