์ฝ๋ฉ ํ
์คํธ
7
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
๋ฒ๋ธ ์ ๋ ฌ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ์๋ฆฌ์ฌ์ ์ธํ
: ์ ๋ ฌ๋์ง ์์ 1์ฐจ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก๊ณ , ํด๋น ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํจ์ ์ ์ ๋ก ํ๋ค.๋ฐฐ์ด์ ์ฒซ ์์๋ฅผ ์กฐํํ๋ค.๋ค์ ์์์ ๋์๊ด๊ณ๋ฅผ ๋น๊ตํ๊ณ , ๊ทธ์ ๋ฐ๋ผ ์ ์ ํ ์กฐ์น๋ฅผ ํ๋ค.์กฐํ์ค์ธ ์์ > ๋ค์ ์์: ๋์ ์๋ฆฌ๋ฅผ ๋ฐ๊พผ๋ค.์กฐํ ์ค์ธ ์์ ๋ค์ ์์: ์๋ฌด ์กฐ์น ์์ด ์ง๋๊ฐ๋ค.2๋ฒ ๊ณผ์ ์ ๋ฐฐ์ด ๋๊น์ง ๋ฐ๋ณตํ๋ค. ์ด๋ฌ๋ฉด ์ ๋ ฌ๋์ง ์์ ์์ญ ์ต์ฐ๋จ์ ์ ๋ ฌ๋์ง ์์ ๊ฐ ์ค ์ต๋๊ฐ์ด ์์นํ๊ฒ ๋๋ค.(์ฆ 3๋ฒ ๊ณผ์ 1๋ฒ ๋น ํ๋์ ์์๊ฐ ์ ๋ ฌ๋๋ค.)3๋ฒ ๊ณผ์ ์ ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์๊ฐ ์ ๋ ฌ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.2. ์์์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ฃผ์ด์ก์ ๋,5๊ฐ 1๋ณด๋ค ํผ์ผ๋ก ๋์ ์๋ฆฌ๋ฅผ ๋ฐ๊พผ๋ค.5๊ฐ 3๋ณด๋ค ํผ์ผ๋ก ๋์ด ์๋ฆฌ๋ฅผ ๋ฐ๊พผ๋ค.5๋ 7๋ณด๋ค ์์์ผ๋ก ์๋ฆฌ๋ฅผ ๋ฐ๊พธ์ง ์๋๋ค.7์ด 2๋ณด๋ค ํผ์ผ๋ก ์๋ฆฌ๋ฅผ..
2024.12.26
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ํผ์ฆ๊ฒ์์ฑ๋ฆฐ์ง java ์ดํดํ๊ธฐ ์ฌ์ด ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ1๋ฒ ํผ์ฆ์ฌ์ฉ์์ ๋ ๋ฒจ์ด 1์ด๋ผ ํ์ ๋, ์ฒซ ๋ฒ์งธ ํผ์ฆ์ ์ฌ์ฉ์์ ๋ ๋ฒจ >= ํผ์ฆ์ ๋์ด๋ ์กฐ๊ฑด์ ๋ถํฉํจ์ผ๋ก ์๊ฐ์ 3๋ถ ๋๋ ค์ ํผ์ฆ์ ์๋ฃํ๋ค.2๋ฒ ํผ์ฆ์ฌ์ฉ์์ ๋ ๋ฒจ ํผ์ฆ์ ๋์ด๋ ์ด๋ค.์ด ๊ฒฝ์ฐ ๋ฌธ์ ์ ์๊ตฌ์กฐ๊ฑด์ฒ๋ผ ์ง์ ํผ์ฆ์ (ํผ์ฆ์ ๋์ด๋ - ์ฌ์ฉ์์ ๋ ๋ฒจ) ๋งํผ ๋ค์ ํ์ด์ผ ํ๋ค. ๊ทธ๋์ 2๋ฒ ํผ์ฆ์ ํธ๋๋ฐ๋ 1*3+4 = 7๋ถ์ ์๊ฐ์ด ๋ ๋ค.3๋ฒ ํผ์ฆ์ด๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์์ ๋ ๋ฒจ ํผ์ฆ์ ๋์ด๋ ์์ผ๋ก (ํผ์ฆ์ ๋์ด๋ - ์ฌ์ฉ์์ ๋ ๋ฒจ)*4 + 2 = 10๋ถ ์ด ๋ ๋ค.๋ฐ๋ผ์, ์ฌ์ฉ์์ ๋ ๋ฒจ์ด 1์ด๋ฉด ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์ด 20๋ถ์ด ์์๋๋ค.๋ฌธ์ ์์๋ limit ์ด๋ผ๋ ์ ํ์๊ฐ์ด ์ฃผ์ด์ง๋ค.์ ํ ์๊ฐ ์์ ํผ์ฆ์ ๋ค ํ ์ ์๋ ์ต์ ๋ ๋ฒจ์ด ๋ช์ธ์ง ๊ตฌํ์ฌ๋ผ2. ์ ๊ทผ ๋ฐฉ..
2024.10.14
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด