์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
17
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (์ ์, ์๋ฆฌ, ์ฆ๋ช
)
1. ์ ์A = Bq + R์ผ ๋, A์ B์ ์ต๋๊ณต์ฝ์ G๋ B์ R์ G์ ๊ฐ๋ค. ๋ฅผ ํ์ฉํ์ฌ, ์ฐ์์ ์ธ ๋๋์
์ผ๋ก A,B์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค. 2. ์๋ฆฌ์ ์์์ ์ฐ์์ ์ธ ๋๋์
์ด๋ผ๊ณ ํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. A = Bq + R 2. B = Rq + R'3. R = R`q + 0 ๊ฐ๋จํ๊ฒ 3๋ฒ์์ ๋๋๋ ์์๋ฅผ ๋ณด์. A,B์ G๋ B,R์ G์ ๊ฐ์.B,R์ G๋ R,R'์ G์ ๊ฐ์.๋ง์ง๋ง ์์์ ๋๋จธ์ง๊ฐ ์์ผ๋ฏ๋ก, R'๋ R์ ์ฝ์์. R๊ณผ R'์ ์ต๋ ๊ณต์ฝ์๋ ๋น์ฐํ๊ฒ๋ R'์. ์ด์ ์ฐ์ด์ฒ๋ผ 3 -> 1๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ฉด ์ข
๊ตญ์ A,B์ ์ต๋๊ณต์ฝ์๋ R'๋ ๊ฐ์.3. ์ฆ๋ช
(1) A์ B์ R์ด ๊ฐ์ G๋ฅผ ๊ณต์ ํ๋๊ฐ?A = Ga, B = Gb (G๊ฐ ์ต๋๊ณต์ฝ์์์ผ๋ก, a์..
2024.09.24
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
์ด๋ถ ํ์ & Upper Bound, Lower Bound ๊ฐ๋
์ ๋ฆฌ
1. Binary-Search๋ ๋ฌด์์ธ๊ฐ์?์ ๋ ฌ๋ ๋ฐฐ์ด ํน์ List ์์ ํ์ ๊ตฌ๊ฐ์ ์ ๋ฐ์ฉ ์ค์ฌ๊ฐ๋ฉฐ ํน์ ๊ฐ์ ์ฐพ๋ ํ์๋ฒ์ด๋ค. ๋ค์๊ณผ ๊ฐ์ด ์งํ ๋๋ค.(0) ๊ธฐ๋ณธ์ ์ธ ์ฉ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.target: ์ฐพ๊ณ ์ ํ๋ ๊ฐ, start : ์ผ์ชฝ ํฌ์ธํฐ,(index=0์์ ์์), end: ์ค๋ฅธ์ชฝ ํฌ์ธํฐ(๋ฐฐ์ด ๋์์ ์์), mid: ๋ ๊ฐ์ ์ค๊ฐ์ ์์นํ ๊ฐ(1) mid๋ฅผ ๊ตฌํ๊ณ target ๊ฐ๊ณผ ๋์๊ด๊ณ๋ฅผ ๋น๊ตํ๋ค.(2) mid > target ์ด๋ฉด, mid ๊ฐ์ด target๊ฐ์ผ๋ก ํฅํ๋๋ก, end = mid-1 ๋ก ํ์ ์์ญ์ ์ ๋ฐ ์ค์ธ๋ค.(3) mid target ์ด๋ฉด, start = mid +1 ์ด ๋๋๋ก ํ์ฌ, ํ์ ์์ญ์ ์ ๋ฐ ์ค์ธ๋ค.(4) mid == target ์ด๋ฉด ๊ฐ์ ๊ตฌํ์ผ๋ฏ๋ก, ์ด๋ถ ..
2024.07.24
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[์๋ฃ๊ตฌ์กฐ] ๊ทธ๋ํ๋ฅผ ์๋ฃ๊ตฌ์กฐ๋ก ๋ํ๋ด๋ณด์!
(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
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
์ ๋ ฌ์ ๋ชจ๋ ๊ฒ (๋ฒ๋ธ, ์ ํ, ์ฝ์
, quick, ๋ณํฉ, ๊ธฐ์)
1. ๋ฒ๋ธ ์ ๋ ฌ(1) ์ ์์ธ์ ํ ์์๋ผ๋ฆฌ ๋น๊ต ํ์, ์ ๋ ฌ๋์ด ์์ง ์๋ค๋ฉด, ๋ ์์์ ์์น๋ฅผ swapํ๋ค.์ด๋ฐ ์์ผ๋ก ์ ๋ ฌํ๊ฒ ๋๋ฉด ๋ฐฐ์ด ํน์ ๋ฆฌ์คํธ์ ์ค๋ฅธ์ชฝ๋ถํฐ ๊ฐ๋ค์ด ์ ๋ ฌ๋์ด ์์ด๊ฒ ๋๋ค.์์์ฌ์ง ์ถ์ฒ: ๋ธ๋ก๊ทธ(2) ์๊ฐ ๋ณต์ก๋: O(n^2)2. ์ ํ ์ ๋ ฌ(1) ์ ์์ ๋ ฌ์ด ๋์ด์์ง ์์ ๋ฒ์ ๋ด์์์ ์ต์๊ฐ ํน์ ์ต๋๊ฐ์ ๋งจ ์ค๋ฅธ์ชฝ ํน์ ๋งจ ์ผ์ชฝ์ผ๋ก ๋ชฐ์๋ฃ๋๋ค.์ดํ ์ ๋ ฌ๋์ง ์์ ๋ถ๋ถ ๋ด์ ์ต์๊ฐ ํน์ ์ต๋๊ฐ์ ๋ค์ ์ฐพ์ ์๊น ๋ชฐ์๋ฃ์ ๊ณณ์ผ๋ก ๋ ๋ชฐ์๋ฃ๋๋ค.๋ฐ์ ์ฌ์ง์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ ํ ์ ๋ ฌ๋ก ํํ ๊ฒ์ด๊ณ , ์ต์๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ชฐ์๋ฃ์๋ค.์ฌ์ง ์ถ์ฒ: ๋ธ๋ก๊ทธ(2) ์๊ฐ ๋ณต์ก๋: O(n^2)3. ์ฝ์
์ ๋ ฌ(1) ์ ์์ ๋ ฌ๋ ๋ฒ์ ๋ด์ ํ์ฌ ๊ฐ์ ์ฝ์
ํ ์ ์ ํ ์์น๋ฅผ ์ฐพ๋๋ค. (์ค๋ฆ ์ฐจ์, ๋ด๋ฆผ์ฐจ์์ผ ..
2024.07.02
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐ค ์๊ฐ ๋ณต์ก๋์ ๊ฐ๋
๊ณผ ์ฝ๋ฉ ํ
์คํธ์์์ ํ์ฉ๋ฒ
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
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก