์ฝ๋ฉ ํ
์คํธ ์ค๋น
8
[๋ฐฑ์ค] 1939 ์ฉ๋์ ํ java, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๊ฐ์ค์น ์๋ฐฉํฅ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง ๋, ์ถ๋ฐ์ง์์ ๋์ฐฉ์ง ๊น์ง ํ๋ฒ์ ์ด๋์ผ๋ก ๊ฐ์ ธ๊ฐ ์ ์๋ ๋ฌผ๊ฑด์ ์ต๋ ์ค๋์ ๊ตฌํ์ฌ๋ผ.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Parametric Search, Binary_Search,DFS(1) ๊ฐ์ค์น ์๋ฐฉํฅ ๊ทธ๋ํ๋ฅผ ์ธ์ ๋ฆฌ์คํธ๋ก ๊ตฌํํ๋ค.(2) ์ด๋ถํ์์ ํ์ฉํด, ํ๋ฒ์ ์ฎ๊ธธ ์ ์๋ ๋ฌผ๊ฑด์ ์ต๋ ์ค๋์ ๊ตฌํ๋ค. (์ด๋ถ ํ์์ ๋ค์๊ณผ ๊ฐ์ด ์งํ ๋๋ค.)a. ๋ฌธ์ ์์ ์ฃผ์ด์ง ์ต๋ ์ค๋๊ณผ ์ต์ ์ค๋์ ํ์ฉํด ์ค์๊ฐ์ ๊ตฌํ๋ค.b. ํด๋น ์ค์๊ฐ์ ํ ๋ฒ์ ์ฎ๊ธธ ์ ์๋ ์ต๋ ์ค๋์ด๋ผ ์ณค์ ๋, ๋์ฐฉ์ง๊น์ง ์ฎ๊ธฐ๋ ๊ฒ ๊ฐ๋ฅํ์ง ํ์ธํ๋ค.c-1. ๊ฐ๋ฅํ๋ค๋ฉด ์ต์ ์ค๋์ ํ ์ค์๊ฐ + 1 ์ฌ๋ ค์, ๋ค์์ ๊ตฌํ ์ค์๊ฐ์ ์ํฅ ์กฐ์ ํ๋ค.c-2 .๋ถ๊ฐ๋ฅํ๋ค..
2025.01.11
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2957 ์ด์ง ํ์ ํธ๋ฆฌ java, ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: BLACK-RED TREE, BST(Binary_Search_Tree)(0) BLACK-RED TREE ๋ก ๊ตฌํ๋ TreeSet์ ํ์ฉํ๋ค.์ผ๋ฐ BST์ผ ๋์ Depth๋ฅผ ์ ์ฅํ๋ int [] depth ๋ฐฐ์ด๋ ๋ง๋ ๋ค.(1) TreeSet์ 0๊ณผ N-1์ ๋ฃ๋๋ค. (Null Pointer Exception ๋ฐฉ์ง)depth[0]๊ณผ depth[N-1] ์ ๊ฐ์ -1์ ๋ฃ๋๋ค. (๊ณ์ฐ์ ์ํฅ์ ์ฃผ์ง ์๊ธฐ ์ํจ)(2) TreeSet์ root ๋
ธ๋๋ถํฐ ๋๋
ธ๋๊น์ง ์ฐจ๋ก๋ก ์กฐํํ๋ค.์กฐํํ์ ๋น์์ ํด๋น ๋
ธ๋๋ณด๋ค ์์ผ๋ฉด์ ์ต๋๊ฐ๊ณผ ํฌ๋ฉด์ ์ต์๊ฐ์ธ ๋
ธ๋๊ฐ ๋ฌด์์ธ์ง ๊ตฌํ๋ค.(3) depth[ํ์ฌ ๋
ธ๋] = (2)์์ ๊ตฌํ ๋ ์ค depth ๊ฐ์ด ๋ ํฐ ..
2025.01.11
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2512 ์์ฐ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD : Binary Search, Parametric Search(1) ๋ชจ๋ ์ง๋ฐฉ ์์ฐ์ ํฉ ์ด ์์ฐ, ๊ทธ๋๋ก ์์ฐ ์ฑ
์ ํ๊ณ , ์ ์ผ ์ปธ๋ ์ง๋ฐฉ ์์ฐ์ ์ถ๋ ฅ(2) ๋ชจ๋ ์ง๋ฐฉ ์์ฐ์ ํฉ > ์ด ์์ฐ: ์์ฐ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ ์ฌ์ด์์ ์ด๋ถ ํ์์ ํตํด, ๋ชจ๋ ์์ฐ์ ์ฒ๋ฆฌํ๋ฉด์ ์ต๋์ธ ๊ฐ์ ์ฐพ์์ ์ถ๋ ฅ (1) Parametric Search ์ฐ์ธ ๊ณณ๋ชจ๋ ์์ฐ์ ์ฒ๋ฆฌํ ์ ์๋ ์ต๋๊ฐ ๊ตฌํ๊ธฐ โf(d) = ์์ฐ ์ํ์ก์ด d์ผ ๋, ์ด๊ฑธ๋ก ์ด ์์ฐ M ๋ด์์ ์ ๋ถ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๊ฐ? ์ฌ๋ฌ ๊ฐ์์ ๊ฐ์ด ์ต์ ํ ๋ฌธ์ ๋ฅผ ๊ฒฐ์ ๋ฌธ์ ์ฌ๋ฌ๊ฐ๋ก ๋ฐ๊พธ์ด ํผ๋ค.f(d) = true๊ฐ ๋์ค๋ ๊ฐ ์ค ์ต๋ํ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ์ ๊ตฌํ๋ฉด ๋ต์ด๋ค. (์ฆ f(d) = true๊ฐ..
2025.01.10
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 17976 Thread Knots
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ x ์ค์ฌ์ ์์ n๊ฐ์ Thread๊ฐ ์กด์ฌํ๋ค. $T_{i}$๋ผ ๋ถ๋ฆฌ๋ i๋ฒ์งธ Thread์ ๊ธธ์ด๋ $l_{i}$์ ํด๋น Thread์ ์์ ์ง์ ์์น์ธ $x_{i}$๋ก ๋ํ๋ด์ด ์ง๋ค. ๋ ๋ณ์ ๋ชจ๋ Integer ์ด๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๊ฐ์ Thread ๋ง๋ค ๋งค๋ญ์ ์ง๊ณ ์ถ์ด ํ๋ค. ๋งค๋ญ์ ์์น ๋ํ ๋ฐ๋์ Integer์ฌ์ผ ํ๋ค. ๋งค๋ญ์ Thread ์์ ์ด๋ ์ง์ ์์๋ ์๊ด ์์ด ๋ง๋ค์ด์ง ์ ์๊ณ , Thread์ ๊ธธ์ด๊ฐ ๋งค๋ญ์ ์ํด ์ค์ด๋ค์ง ์๋๋ค๊ณ ๊ฐ์ ํ๋ค. ๋น์ ์ ๋ํ ์ด๋ ํ Thread๋ ๋ ๋ค๋ฅธ Thread์ ์ํด ์์ ํ ํฌํจ๋์ด์ง์ง ์๋๋ค๊ณ ๊ฐ์ ํ๋ค. ์ด๋ค ์๋ฏธ๋๋ฉด, $x_j$ ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ๊ฐ๊น๊ฒ ์ธ์ ํ ๋ ๋งค๋ญ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ ํ ํฌ๊ฒ ๋ง๋ค๊ธฐ ์ํด์ ๊ฐ Th..
2025.01.10
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
๊ทธ๋ํ ํ์ ๊ธฐ๋ณธ(DFS&BFS), ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
0. ๊ทธ๋ํ ํ์์ ๊ธฐ๋ณธ์ธ DFS์ BFS๊ทธ๋ํ ํ์์ด๋ ๋ฌด์์ธ๊ฐ?๊ทธ๋ํ ํ์์ด๋, ์ ์ ๊ณผ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์ ์ ํํ๊ณ , ํด๋น ์ ์ ์์ ์ธ์ ํ ์ ์ ์ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ๋งํ๋ค. ์ด๋ฌํ ์ ์ ๋ฐฉ๋ฌธ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ์ด๊ฒ์ด ์์ผ๋ก ์ดํด๋ณผ DFS์ BFS์ด๋ค.์ฐ๋ฆฌ๋ ์์ ๊ทธ๋ํ๋ฅผ ์์๋ก ์ฌ์ฉํ๋ฉฐ ํ๋์ฉ ์ดํดํด ๋ณด๊ฒ ๋ค.1. DFSDFS๋ Depth First Search์ ์ฝ์๋ก ๊น์ด ์ฐ์ ํ์์ ๋ปํ๋ค. ๋ง ๊ทธ๋๋ก ๋ฐฉ๋ฌธํ๊ธฐ๋ก ์ ํ ์ธ์ ์ ์ ์ ์ต๋ ๊น์ด๊น์ง ํ์์ ๋ง์น ํ, ๋ค์ ์ธ์ ์ ์ ์ ํ์ธํ๋ ๊ฒ์ด๋ค.์๊ณ ๋ฆฌ์ฆ ๋
ผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.(1) ํ์ฌ ์ ์ ๊ณผ ์ธ์ ํ ์ ์ ์ ๋ฐฉ๋ฌธํ๋ค.(2) ๋ฐฉ๋ฌธํ ์ ์ ์์ ์์ง ๋ฐฉ๋ฌธํ์ง ์์ ์ ์ ์ด ์๋ค๋ฉด ๋ฐฉ๋ฌธํ์ง ์์ ์ ์ ์ ๋ชจ๋ ๋ฐฉ๋ฌธํ ๋๊น์ง (..
2025.01.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 1700 ๋ฉํฐํญ ์ค์ผ์ค๋ง java ํ์ด, ๊ทธ๋ฆผ์ผ๋ก ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ต์ํ์ผ๋ก ํ๋ฌ๊ทธ ๋นผ๋ ํ์ ์ธ๋ผ! (๋ค์ ๊ฝ๋ ํ์๋ ์ธ์ง ๋ง๋ผ!)2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: GREEDY ALGORITHM(0) ์ฌ์ ์ธํ
: ๋ฉํฐํญ์ ๋ํ๋ด๋ SET, ๊ฐ ์ ์ ๊ธฐ๊ธฐ์ ํ์ฌ ์กฐํ ์ค์ธ ์์น ๊ธฐ์ค ๊ฐ์ฅ ๊ฐ๊น์ด index๋ฅผ ๋ํ๋ด๋ QUEUE[์ ์๊ธฐ๊ธฐ ๋ฒํธ], ๋ช
๋ น ์์๋ฅผ ๋ํ๋ ORDER[]๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌํํด๋๋ค.(1) QUEUE[] ์ฑ์ฐ๊ธฐ: ์์ ๋งํ๋ค์ํผ, index๋ ๊ฐ ๊ธฐ๊ธฐ์ ๋ฒํธ์ด๊ณ , ๋ฐฐ์ด๋ง๋ค ์์ ๋ง์ ํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ์๋ ํด๋น index ๋ฒํธ ๊ธฐ๊ธฐ๊ฐ ๋์จ index๋ฅผ ๋ง๋ ๋๋ง๋ ์ฝ์
ํ๋ค. ์ด๋ ๊ฒ ๋๋ฉด, ํ์ front์๋ ๊ฐ์ฅ ์ฒ์ ์กฐ์ฐํ index๊ฐ ์ ํ ์์ ๊ฒ์ด๋ค.(2) SET(๋ฉํฐํญ) ์ฑ์ฐ๊ธฐ: ๋ฉํฐํญ์ ๋ํ๋ด๋ SET์ ์ฑ์ด๋ค..
2025.01.07
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
๊ธฐ์ ์ ๋ ฌ(radix sort), ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ๊ธฐ์ ์ ๋ ฌ์ด๋?์๋ค์ ์๋ฆฟ๊ฐ์ ํ์ฉํด, ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ ์ ๋ ฌ๋ฐฉ๋ฒ(์ง๊ธ๊น์ง ๋ฐฐ์ด ์ ๋ ฌ๋ค์ ์ ๋ค๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ๋น๊ตํ๋ ๋น๊ต ์ ๋ ฌ์ด์์ง๋ง, ๊ธฐ์ ์ ๋ ฌ์ ๋ฐ์ดํฐ ๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ๋น๊ตํ์ง ์์.)์๊ฐ ๋ณต์ก๋๋ O(kn)์ด๋ค. ์ฌ๊ธฐ์ K๋ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ฐ์ดํฐ ์ค ๊ฐ์ฅ ํฐ ์๋ฆฟ๊ฐ์ ๋งํ๋ค. ์ฝ๋ฉํ
์คํธ์์๋ ์ต๋๊ฐ์ด 10์ต์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก O(N)์ ์๊ฐ์์ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค๋ ์๋ฆฌ์ด๋ค.ํ์ง๋ง ๊ฐ์ฒ ์ ์ฐ๊ธ์ ์ฌ์ฒ๋ผ ๋ฑ๊ฐ๊ตํ์ ์์น์ด๋ค. ํด๋น ์ ๋ ฌ์ ๊ตฌํํ๊ธฐ ์ํด์ ์๋๋ Queue๊ฐ 10๊ฐ๊ฐ ํ์ํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ก์๋จน๋๋ค. ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๊ธฐ ์ํด ๋ณธ ํฌ์คํ
์์๋ ๋์ ํฉ ๋ฐฐ์ด์ ์ด์ฉํ ๊ตฌํ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ๋ค.2. ์๋ฆฌ0. ์ธํ
ํ์ฌ ํ์ธ ์ค์ธ ์๋ฆฟ๊ฐ์ ๊ฐ์ง ์ซ์๊ฐ ..
2024.12.31
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 1517 ๋ฒ๋ธ ์ํธ java ํ์ด (๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ1์ฐจ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ , ํด๋น ๋ฐฐ์ด์ ๋ฒ๋ธ ์ ๋ ฌ๋ก ์ ๋ ฌํ๋ค๊ณ ํ์๋, ์ ์ฒด ๊ณผ์ ์ค์์ swap์ ๋ช ๋ฒ ์ผ์ด๋ฌ๋์ง ๊ตฌํ๋ผ.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKey Word: Merge_sort, Two Pointer๋ถํ ์ ๋ณต, ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํด ์
๋ ฅ์ ๋ํด ๋ณํฉ ์ ๋ ฌ์ ์คํํ๋ค.๋งค ์ฌ๊ท ์๊ฐ๋ง๋ค ์ ๋ ฌ์ด ๋ ํ
๋ฐ, ์ด๋ ์๋ฆฌ ๋ฐ๊ฟ์ด ์ผ์ด๋ ํ์๋ฅผ ์ผ๋ค.์์ ๊ณผ์ ์์ ๊ตฌํ ์๋ฆฌ ๋ฐ๊ฟ ํ์๋ฅผ ๋์ ํด ์ถ๋ ฅํ๋ค.์ ์ฒด ๊ณผ์ ์ ๊ฐ๋ตํ ์ค๋ช
ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.(1) ์ง๊ธ๋ถํฐ ๋ณํฉ ์ ๋ ฌ์ด ๋ฌด์์ธ์ง,(2) ๋ฒ๋ธ ์ ๋ ฌ๋ก ์ ๋ ฌํ๋ผ ํ๋๋ฐ ์ ๋ณํฉ ์ ๋ ฌ์ ์ฌ์ฉํ๊ณ ๊ทธ๊ฒ์ด ํตํ๋์ง,(3) ์ด๋ป๊ฒ ๊ตฌํํ๋ฉด ๋๋์ง์ธ์ธํ๊ฒ ์ค๋ช
ํ๊ฒ ๋ค.(1) ๋ณํฉ ์ ๋ ฌ์ด ๋ฌด์์ธ์ง๋ณํฉ์ ๋ ฌ์ ๋ถํ ์ ๋ณต๊ณผ ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํด ๊ฐ๋ค์ ์ ๋ ฌํ๋..
2024.12.28
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด