์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
219
ํญํด 99 ์ฝํ
์คํฐ๋ 5๊ธฐ 3์ผ์ฐจ + [๋ฐฑ์ค] ๋คํธ์ํฌ ๋ณต๊ตฌ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ๋ฅผ ๋ณด๋ฉฐ, ์ฐพ์๋ธ ์กฐ๊ฑด์ ๋ค์ 3๊ฐ์ง ์๋ค.1๏ธโฃ ์ต์ ๊ฐ์์ ํ์ ์ ๋ณต๊ตฌํ๋ผ2๏ธโฃ ๋ชจ๋ ์๋ก ๋ค๋ฅธ 2 ๋์ ์ปดํจํฐ๊ฐ ๊ต์ ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.3๏ธโฃ ์ํผ ์ปดํจํฐ์์ ๋ค๋ฅธ ์ปดํจํฐ๋ก์ ํต์ ์ต์ ๋น์ฉ์ ๋ณต๊ตฌ ์ด์ ๊ณผ ๊ฐ์์ผ ํ๋ค.๋ฌธ์ ๋ฅผ ํ๋ฉฐ ๋๋ ์ ์,3๏ธโฃ ๋๋ฌธ์ 1๏ธโฃ์ ์์ผ๋ ๋ง๋ ํ ์กฐ๊ฑด์ด ๋์๋ค. 3๏ธโฃ์ ๋ง์กฑ์ํค๋ ค๋ฉด ๋ค์ต์คํธ๋ผ๋ฅผ ํ์ฉํด์, ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ผ ํ๊ณ , ๊ทธ ์ต๋จ ๊ฒฝ๋ก์ ์ฌ์ฉ๋ ํ์ ๋ณด๋ค ๊ฐ์๋ฅผ ๋ ์ค์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. (์ค์ด๋ฉด, ์ด๋ค ์ปดํจํฐ์๋ ์ํผ์ปดํจํฐ๊ฐ ๋๋ฌํ์ง ๋ชปํ๋ค.) 2๏ธโฃ ๋ํ ๋ค์ต์คํธ๋ผ๋ฅผ ํ์ฉํ๋ฉด, ์ต์ ์ํผ ์ปดํจํฐ๋ฅผ ๋งค๊ฐ๋ก ๋ชจ๋ ๊ต์ ํ ์ ์๊ธฐ์ ๋ฐ๋ก ๊ตฌํํด์ผ ํ๋ ์กฐ๊ฑด์ด ์๋๋ค. ๋ฐ๋ผ์ ๋ค์ต์คํธ๋ผ๋ฅผ ํ๋ฉฐ ๊ฑฐ์ณ๊ฐ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ตํ๋ ๋ฌธ์ ์ด๋ค...
2025.01.17
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 5์ผ์ฐจ + [๋ฐฑ์ค] 17270 ์ฐ์์ธ์ ํ๋ค์ด java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์งํ๊ณผ ์ฑํ์ ์๋ก์ด ์ฝ์ ์ฅ์๋ฅผ ์ฐพ์์ฃผ๋ ๋ฌธ์ ๋ก์, ๋ค์ต์คํธ๋ผ๋ฅผ ํตํด ๊ฐ์์ ์ถ๋ฐ์ ์์ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต์ ๋๋ฌ ๋น์ฉ์ ๊ตฌํ๊ณ , ์ด๋ฅผ ํตํด 4๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฝ์ ์ฅ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.ํ์ง๋ง, ์ถ์ ์๊ฐ ์ง๋ฌธ์ ๋๊ฒ ๋ชจํธํ๊ฒ ์ ์ด์, ์กฐ๊ฑด์ ์ง์๊ฐ ํท๊ฐ๋ฆฐ๋ค.์ฝ์ ์ฅ์์ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค.1๏ธโฃ ๊ฐ์์ ์ถ๋ฐ์ ์ ์ฝ์ ์ฅ์๊ฐ ๋ ์ ์๋ค.2๏ธโฃ ๋ ๋ค ์ต์ ๋น์ฉ์ผ๋ก ๋ฟ์ ์ ์๋ ์ฅ์์ฌ์ผ ํ๋ค.3๏ธโฃ ์งํ์ด๊ฐ ์ฑํ๋ณด๋ค ๋จผ์ ๋์ฐฉํ๋ ์ฅ์์ฌ์ผ ํ๋ค.4๏ธโฃ ์์ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ์ฅ์๊ฐ ๋ณต์๋ผ๋ฉด, ๊ทธ ์ค ์งํ์ด๊ฐ ๋นจ๋ฆฌ ๋์ฐฉํ๋ ์ฅ์๋ฅผ ๊ณ ๋ฅธ๋ค. (์ด ๋ง์ ๋ ๋ณต์์ด๋ฉด, ์ ์ ๋ฒํธ๊ฐ ๋น ๋ฅธ ๊ฒ์ ๊ณ ๋ฅธ๋ค.)์ด ์กฐ๊ฑด์ ๋ณด๋ฉด,๊ฐ์์ ์ถ๋ฐ์ ์ด ์๋๋ฉด์, ์งํ์ด๊ฐ ์ฑํ๋ณด๋ค ๋จผ์ ๋์ฐฉํ๋ฉด์..
2025.01.17
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 4์ผ์ฐจ + [๋ฐฑ์ค] 1253 ์ข๋ค. (2ํธ)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌN๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ, ์ด ์ค ํ๋๋ฅผ ํํด๋ณด์. (ํํ ์๋ฅผ E๋ผ ๋ถ๋ฅด๊ฒ ๋ค.)์ด E๋ฅผ ๋๋จธ์ง N-1๊ฐ ์ค 2๊ฐ๋ฅผ ํฉํด์ ๋ง๋ค ์ ์์ผ๋ฉด ์ข์ ์๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋ค.์ด๋ ์ข์ ์์ ๊ฐ์๋ ๋ช ๊ฐ ์ธ๊ฐ?2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: ๋ง์ฃผ๋ณด๋ ํฌ ํฌ์ธํฐ1๏ธโฃ N๊ฐ์ ์๋ฅผ arr์ด๋ ๋ฐฐ์ด์ ์
๋ ฅ ๋ฐ์์ ์ค๋ฆ ์ฐจ์ ์ ๋ ฌํ๋ค.2๏ธโฃ ํฌ์ธํฐ๋ฅผ 3๊ฐ ๋์ด๋ณด์. ๊ฐ๊ฐ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค.E = ์ข์ ์๊ฐ ๋ ์ง ์๋ ์ง ํ์ธํ๋ target์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ (0๋ถํฐ ์ ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ค.)L = N๊ฐ์ ์ ๋ ฌ๋ ์ ์ค ์ ์ผ ์ข์ธก์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ (์ ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ค.)R = N๊ฐ์ ์ ๋ ฌ๋ ์ ์ค ์ ์ผ ์ฐ์ธก์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ (์ ์ ์ผ์ชฝ์ผ๋ก ๊ฐ๋ค.) 3๏ธโฃL๊ณผ R์ด ์๋ก ๋ง๋ ๋ ๊น์ง ..
2025.01.16
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 2์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค Lv4 ๊ฐ์ฌ ๊ฒ์
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: ํธ๋ผ์ด0๏ธโฃ ์ค์ํ ์ฒ์ ์ธํ
!: Tri ๊ตฌ์กฐ๋ฅผ ๋ง๋๋๋ฐ ๊ตฌ์ฑ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.(a) `๊ธฐ๋ณธ์ ์ธ ์์ ๋
ธ๋`: HashMap๋ก ๊ตฌํ (์์ ์ํ๋ฒณ ์ด๋ฆ, ๊ทธ๊ฒ์ ๊ฐ์ฒด)(b) `lenMap`: ํ์ฌ ์กฐํ ์ค์ธ ๋ฌธ์ ๋ค๋ก ๋ถํฐ ์ ๋ถ ๋ฌผ์ํ๋ผ๊ณ ์ณค์ ๋, ๊ทธ ์์ผ๋์นด๋๋ฅผ ๋ง์กฑํ๋ ๋ฌธ์๊ฐ ๋ช ๊ฐ ์๋์ง ์ธ๋ ์๋ฃ๊ตฌ์กฐ, HashMap๋ก ๊ตฌํ (๋ฌธ์์ด์ ๊ธธ์ด, ๋ง์กฑํ๋ ๋ฌธ์ ๊ฐ์)1๏ธโฃ ์
๋ ฅ: ๋ฌธ์์ด ๊ทธ๋๋ก ๋ฐ๋ Tri ํ๋, ๋ฌธ์์ด์ ๋ค์ง์ด์ ๋ฐ๋ Tri ํ๋์ฉ ๋ง๋ค์ด ๊ฐ๊ฐ ๋ฐ๋ก ๋ฐ๋ก ์
๋ ฅ ๋ฐ์์
๋ ฅ๋ฐ์ผ๋ฉด์, ๋งค๋ฒ LenMap์ ๊ฐ์ ๊ฐฑ์ ํ๋ค.2๏ธโฃ ์ฐพ๊ธฐ: ์์ผ๋์นด๋ ?๋ฅผ ๋ง๋๊ธฐ ์ ๊น์ง, ํธ๋ผ์ด๋ฅผ ๊น๊ฒ ๋ค์ด๊ฐ๋ค. ๋ฐํ๊ฐ์ด ๋ ..
2025.01.15
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 5052 ์ ํ๋ฒํธ ๋ชฉ๋ก java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์์ ์ํ๋ ๊ฒ์ A์ ์ ํ๋ฒํธ๋ฅผ ์น๊ณ ์๋ ์์ค์, B์ ์ ํ๋ฒํธ๋ฅผ ์์ฑ์์ผ์, B๋ก ์ ํ๊ฐ ๊ฑธ๋ฆฌ๋ ์ผ์ด ์์ผ๋ฉด ์ผ๊ด์ฑ์ด TRUE, ์ ํ๊ฐ ํ ๋ฒ์ด๋ผ๋ ๊ฑธ๋ฆฌ๋ฉด FALSE๋ผ๋ ๋ป์ด๋ค.์ฆ 'ํ๋์ ์ ํ๋ฒํธ๊ฐ ๋ค๋ฅธ ์ ํ๋ฒํธ์ ์ ๋์ด๊ฐ ๋๋์ง?'๋ฅผ ํ์ธํ๋ผ๋ ๋ฌธ์ ์ด๋ค.2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: TRI๊ธฐ๋ณธ์ ์ธ ํธ๋ผ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ๋ฌธ์ ๋ผ ๋ฐ๋ก ๋ถ์ฐ ์ค๋ช
ํ ๊ฒ์ด ์๋ค. ์์ง ํธ๋ผ์ด์ ๋ํ ๊ฐ๋
์ด ์๋ค๋ฉด, ๋ฏธ๋ฆฌ ํ์ต ํ๊ณ ์ค์๊ธธ ๋ฐ๋๋ค.0๏ธโฃ HashMap์ ํ์ฉํ์ฌ ์ ํ์ ์ธ ํธ๋ผ์ด ๊ตฌ์กฐ ํธ๋ฆฌ๋ฅผ ๊ตฌํํ๋ค. + ๋ฌธ์์ด์ ์ฝ์
ํ๋ insert ๋งค์๋๋ฅผ ๊ตฌํํ๋ค.1๏ธโฃ ๋ฌธ์์ด (์ดํ str)์ ํธ๋ผ์ด์ ์ฝ์
ํ๋ค.2๏ธโฃ ๋ง์ฝ str์ ์ฝ์
ํ๋ ๋์ค์, ํ์ฌ ์กฐํ ์ค์ธ ๋ฌธ์๊ฐ ..
2025.01.14
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 1์ผ์ฐจ TIL + [๋ฐฑ์ค] 11657 ํ์๋จธ์ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถํ๊ณ ํ ๋ฒ ์จ๋ณด๋ผ๋ ๊ฒฌ๋ณธ ๋ฌธ์ ์ด๋ค.์ฃผ์ด์ง๋ ๊ฐ์ ์ ๋ณด๋ ๋ชจ๋ ๋จ๋ฐฉํฅ์ด๋ค.2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: BELLMAN-FORD ALGORITHM0๏ธโฃ ํํ๋ก ๋ชจ๋ ๊ฐ์ ์ ์ ์ฅ, ์ต์ ๋น์ฉ ๋ฐฐ์ด์ธ dist [] ์ ์ธ.(N: ์ ์ ์ ์, M: ๊ฐ์ ์ ์, dist ๋ฐฐ์ด์ Long.MAX_VALUE๋ก ์ด๊ธฐํ)1๏ธโฃ ์ถ๋ฐ์ง๋ฅผ 1๋ก ์ค์ ํ๊ณ , N-1๋งํผ ๋ชจ๋ ๊ฐ์ ์ ๋๋ฉด์ ๋ค์ ๊ตฌ๋ฌธ์ ์คํํ๋ค.1๏ธโฃ-1) ํ์ฌ ์กฐํ์ค์ธ ๊ฐ์ ์ ์ถ๋ฐ์ง๋ฅผ A, ๋์ฐฉ์ง๋ฅผ B, AโB์ ๊ฐ์ค์น๋ฅผ C๋ผ๊ณ ํ ๋,dist[A] != ∞๏ธ๏ธ && dist[B] > dist[A] + C์ด๋ฉด, dist[B] = dist[A] + C๋ก ์ต์ ํ ํด์ค๋ค.2๏ธโฃ ์ ๊ณผ์ ์ ๋๋ธ ํ, ๋ฒจ๋ง ..
2025.01.13
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2110 ๊ณต์ ๊ธฐ ์ค์น java, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD : Binary Search, Parametric Search, Greedy Algorithm(1) ์ง ๊ฐ์ ์ต์ ๊ฑฐ๋ฆฌ์ ์ต๋๊ฑฐ๋ฆฌ๋ฅผ ํ์ฉํด, ์์์ ๊ฑฐ๋ฆฌ d๋ฅผ ์ฐ์ ํ๋ค.(2) '๋ชจ๋ ๊ณต์ ๊ธฐ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ์ต์ํ d ์ด์์ธ๊ฐ?'๋ฅผ boolean ๊ฐ์ผ๋ก ๊ณ์ฐํ๋ค.(3) (2)๋ฒ์ด true๋ฉด, start = mid + 1๋ก ๊ฑฐ๋ฆฌ๋ฅผ ์ํฅ ์กฐ์ , false๋ฉด end = mid - 1๋ก ํํฅ ์กฐ์ ํ๋ค.(4) start์ end๊ฐ ์๊ฐ๋ ธ์ ๋, start - 1์ด ๋ต์ด๋ค.(1) Parametric Search ์ด์ฉํด๋น ๋ฌธ์ ๋ ๊ฐ์ฅ ์ธ์ ํ ๋ ๊ณต์ ๊ธฐ ์ฌ์ด์ ์ต๋ ๊ฑฐ๋ฆฌ ์ฆ ์ต์๊ฐ ์ค์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ์ต์ ํ ๋ฌธ์ ์ด๋ค. ์ต์ ํ ๋ฌธ์ ๋ ๋ฐ๋ก ํ๊ธฐ ์ด๋ ต๊ธฐ ๋..
2025.01.10
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 1459 ๊ฑท๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: GREEDY ALGORITHM(1) ๋ชฉ์ ์ง์ x์ถ ํน์ y์ถ์ ์ผ์นํ ๋๊น์ง ๋๊ฐ์ ๊ฐ๋ก์ง๋ฅด๊ธฐ๋ก ์ด๋ํ๋ค. ๋น์ฉ = Math.min(2*S, W)(2) ๋ชฉ์ ์ง์ x์ถ ํน์ y์ถ์ด ์ผ์นํ ์ดํ์๋ ํ์นธ ์ด๋๊ณผ ๋๊ฐ์ ๊ฐ๋ก์ง๋ฅด๊ธฐ ์ค ์ต์ ๋น์ฉ์ ํํด์ ์ด๋ํ๋ค.a. S > W์ธ ๊ฒฝ์ฐ (๋ชฉ์ ์ง - ํ ์์น) == ์ง์์ผ ๊ฒฝ์ฐ W๋ก๋ง ์ด๋, ํ์ ์ผ ๊ฒฝ์ฐ, ๋ชฉ์ ์ง-1๊น์ง W๋ก ์ด๋ ํ ๋ง์ง๋ง ํ ๋ฒ์ S๋ก ์ด๋b. S ์ธ ๊ฒฝ์ฐ, S๋ก ์ญ ์ด๋ 3. ์ฝ๋ ์๊ฐ ๐import java.io.*;import java.util.Arrays;import java.util.StringTokenizer;public class Main { /* ..
2025.01.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 18185 ๋ผ๋ฉด ์ฌ๊ธฐ (small) java ํ์ด, ๊ทธ๋ฆผ์ผ๋ก ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐โจ ๋ฌธ์ ๋งํฌ โจ๋ฌธ์ ์ค๋ช
์ด ๊ฝค ์ง๊ด์ ์ด๋ค. ๋ค๋ง ๋ด๊ฐ ํ ๋ฒ์ ์ดํดํ์ง ๋ชปํ ๋ถ๋ถ์ด ์์ด, ๊ทธ์ ๋ํ ๋ถ์ฐ ์ค๋ช
์ ํ๊ณ ๋ค์ ์ฅ์ผ๋ก ๋์ด๊ฐ๊ฒ ๋ค.๊ต์ค์ด๋ i๋ฒ ๊ณต์ฅ์์ ์ ํํ๊ฒ Ai๊ฐ์ ๋ผ๋ฉด์ ๊ตฌ๋งคํ๊ณ ์ ํ๋ค(1 ≤ i ≤ N).๋ฌธ์ ์ ์
๋ ฅ์ผ๋ก ์ผ๋ จ์ ๋ฐ์ดํฐ๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋๋ฐ, ํด๋น ๋ฐ์ดํฐ์ index = ๊ณต์ฅ, value = ํด๋น ๊ณต์ฅ์์ ์ฌ์ผํ ๋ผ๋ฉด์ ๊ฐ์ ๋ผ๋ ๋ป์ด๋ค.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: DP(๊ฐ) ๋ฌธ์ ์์ ์ฃผ์ด์ง 3๊ฐ์ง ๋ฐฉ๋ฒ์ ์์งํ๋ค.i๋ฒ ๊ณต์ฅ์์ ๋ผ๋ฉด์ ํ๋ ๊ตฌ๋งคํ๋ค(1 ≤ i ≤ N). ์ด ๊ฒฝ์ฐ ๋น์ฉ์ 3์์ด ๋ ๋ค.i๋ฒ ๊ณต์ฅ๊ณผ (i+1)๋ฒ ๊ณต์ฅ์์ ๊ฐ๊ฐ ๋ผ๋ฉด์ ํ๋์ฉ ๊ตฌ๋งคํ๋ค(1 ≤ i ≤ N-1). ์ด ๊ฒฝ์ฐ ๋น์ฉ์ 5์์ด ๋ ๋ค.i๋ฒ ๊ณต์ฅ๊ณผ ..
2025.01.05
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 1931 ํ์์ค ๋ฐฐ์ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ง๊ด์ ์ด๋ผ ์ถ๊ฐ ์ค๋ช
์๋ต2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: GREEDY ALGORITHM(1) ํ์์ ์์ ์๊ฐ๊ณผ ๋ ์๊ฐ์ ๋ฌถ์ด์ ํ๋์ ๊ฐ์ฒด๋ก ๋ง๋ค๊ธฐ. ๋ ์ด ๊ฐ์ฒด๋ค์ ArrayList๋ก ๋ฌถ๊ธฐ(2) ํ์๋ฅผ ๋ ์๊ฐ์ด ๋น ๋ฅธ ์์ผ๋ก ์ ๋ ฌ (๋ ์๊ฐ์ด ๊ฐ๋ค๋ฉด ์์ ์๊ฐ์ด ๋น ๋ฅธ ์์ผ๋ก ์ ๋ ฌ)(3) int prev_end_time ์ด๊ธฐ๊ฐ: ArrayList.get(0)์ ๋์๊ฐ(4) ArrayList๋ฅผ ์ํํ๋ฉฐ prev_end_time ์ธ ๊ฒฝ์ฐ ans_cnt +1 ์ฌ๋ฆฌ๊ณ , prev_end_time = now.endTime์ผ๋ก ๊ฒฝ์ (1) Greedy Algorithm ์ธ ๊ฒ์ ์ด๋ป๊ฒ ์์๋? ๐ค๊ฒฐ๋ก : ํ์๋ฅผ ๋ ์๊ฐ ์์ผ๋ก ์ ๋ ฌ ํ์ ๋, ์์๊ฐ [meeting..
2025.01.04
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฆฌํธ์ฝ๋] 1235 Maximum Profit in Job Scheduling
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌํ ๊ฐ ์ด์์ ์ผ์ด ์กด์ฌํ๊ณ , ์ผ๋ง๋ค ์์์๊ฐ, ๋์๊ฐ, ์๋ฃํ์ ๋ ์ด์ต ์ด ์ฃผ์ด์ง ๋, ์ฃผ์ด์ง ์ผ๋ จ์ ์ผ๋ค์์ ๋์ฌ ์ ์๋ ์ต๋ ์ด์ต์ ๋ฐํํ๋ผ.์กฐ๊ฑด์ ํํ ์ผ๋ค์ ์๋ก ์ผ์ ์งํ ์๊ฐ์ด ๊ฒน์น๋ฉด ์๋๋ค.A๋ผ๋ ์ผ์ endTime = X ์ด๊ณ , B๋ผ๋ ์ผ์ startTime = X์ด๋ฉด A์ B๋ฅผ ์ฐ๋ฌ์ ์ผํ ์ ์๋ค. ์ด๋ ๊ฒน์น๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ์ง ์๋๋ค.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: DP(1) ์ด๊ธฐํ(๊ฐ) ๊ฐ๊ฐ ์ฐ์ฌ๋์ด ์๋ startTime, endTime, profit์ ๊ฐ์ ์ผ ๋จ์๋ก ๋ฌถ์ด์ ๋์ด โ class Job + ArrayList(๋) ArrayList๋ฅผ ์์ ์๊ฐ์ด ์ด๋ฅธ ์์ผ๋ก ์ ๋ ฌ(๋ค) DP์ฉ ๋ฐฐ์ด maxProfit[] ๋ง๋ค๊ธฐ (maxProfit[..
2025.01.04
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฆฌํธ์ฝ๋] 912 sort an array java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌํด๋น ๋ฌธ์ ๋ ์์ ์ด ์ฌ์ฉํ๋ ์ธ์ด์ ๋ด๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ ฌ์ ์ฌ์ฉํ์ง ์๊ณ O(nlog(n))์ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ๊ด๊ฑด์ด๋ค.(๋ฌธ์ ์์๋ ์ง์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ ฌ์ ์ผ๋์ง ์ ์ผ๋์ง๋ ์์ฌ์ ๋งก๊ฒผ๋ค...)2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKey word: Merge sort๋ณํฉ ์ ๋ ฌ์ ์ต์
์ ์๊ฐ ๋ณต์ก๋๊ฐ O(nlog(n))์ด๊ธฐ ๋๋ฌธ์ ์ฐ๋ฉด ํ๋ฆฐ๋ค. ํ์ง๋ง ํ ๊ฐ์ง ๋ฐฑ์ค๊ณผ ๋ค๋ฅธ ์ ์ด ์์ด 1์๊ฐ ๋์ ํค๋ฉ ๋ถ๋ถ์ด ์๋ค. ๋ฆฌํธ์ฝ๋๋ ์๊ณ ๋ฆฌ์ฆ ์์ฒด์ ์๊ฐ ๋ฟ๋ง ์๋๋ผ, ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ ์๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒ ํค๋, ๊ฐ๋น์ง ์ปฌ๋์
๋ถ๋ด์ ๋ฐ๋ฅธ ์คํ ์๊ฐ ์ฆ๊ฐ ๋ํ ์คํ์๊ฐ์ ํฌํจ์ํค๋ ๋ฏ ํ๋ค.๊ทธ๋ ๊ฒ ๋๋ ์ด์ ๋ ๋ด๊ฐ Merge_sort๋ฅผ ํ๋ฉด์ ๋ถ๋ถ ์ ๋ ฌ๋ ๊ฐ๋ค์ ๋ฃ์ tmp ์์ ๋ฐฐ์ด์ ๋งค ์ฌ๊ท..
2025.01.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฆฌํธ ์ฝ๋] 164 Maximum Gap java ํ์ด (๊ธฐ์ ์ ๋ ฌ ์ฌ์ฉ)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฐฐ์ด์ ์ ๋ ฌํด์, ์ธ์ ํ ๋ ๊ฐ์ ์ฐจ์ ์ต๋๊ฐ์ ๋ฐํํด๋ผ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: RADIX SORTํด๋น ๋ฌธ์ ๋ java์ native ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํด๋ ๋์ง๋ง, ๊ธฐ์ ์ ๋ ฌ(Radix-sort)๋ฅผ ํ์ฉํด๋ณด๊ณ ์ถ์ด์, ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค. ๊ทธ์ ์ ์ ๊ทธ๋๋ก ๊ตฌํํ ๊ฒ ๋ฟ์ด๋ผ, ๋ฐ๋ก ์ ๊ทผ ๋ฐฉ์์ ์ค๋ช
ํ ๊ฒ์ด ์๋ค. Radix-sort์ ๋ํด ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ๋ค์ ๋งํฌ์ ๋ด์ฉ์ด ์ ํ ์์ผ๋ ํ๋ฒ ๋ณด๊ณ ์ค๋ ๊ฒ์ ์ถ์ฒ ๋๋ฆฐ๋ค.https://dalcheonroadhead.tistory.com/5583. ์ฝ๋ ์๊ฐ ๐import java.util.*;class Solution { public int maximumGap(int[] nums..
2025.01.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 11004 K-๋ฒ์งธ ์ ํ์ด java
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: QUICK SORTING์ฌ์ค JAVA ๋ด๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ Sorting์ ์ฐ๋ฉด ๊ฐ๋จํ ํด๊ฒฐ๋๋ ๋ฌธ์ ์ด์ง๋ง, Qucik Sorting ์ฐ์ต์ ์ํด Quick Sorting์ ์ฌ์ฉํด ๋ณด์๋ค. quick sorting์ ๊ฒฝ์ฐ, ์ต์
์ ์๊ฐ ๋ณต์ก๋๊ฐ O( $N^2$ )์ด๋ผ์ ๋ฌธ์ ์ ์ ์๋ ์ต๋ ๋ฐ์ดํฐ ๋์ ๋ณด๋ฉด, ์๊ฐ์ด๊ณผ๊ฐ ๋์ผ ํ๋ ๊ฒ์ด ๋ง๋ค. (์๋ง Quick Sorting์ ์ฐ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ๋๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ ๋ฃ์ด๋์ ๊ฒ ๊ฐ๋ค.)(1) ํฐ ํ๋ฆ(1) ํ์ฌ ์ ๋ ฌํด์ผ ํ๋ ์์ญ์ ์ค์๊ฐ์ PIVOT์ผ๋ก ์ ์ (2) PIVOT์ ์์ญ ์ต์ข๋จ ๊ฐ๊ณผ ์๋ฆฌ ๊ต์ฒด. (pivot์ ๋น๊ต ๋์์ ์ํ์ง ์๋๋ก ํ๊ธฐ ์ํจ.)(3) PIVOT์ ์ ์ธ..
2025.01.02
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 1377 ๋ฒ๋ธ์ํธ java, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์์๋ก ๋์จ C++ ์ฝ๋๋ฅผ ๋์ผ๋ก๋ง ์ฝ์ด์๋ ์ดํด๊ฐ ์ด๋ ต๋ค. ๋ฐ๋ผ์ N๊ณผ A[] ๋ฐฐ์ด์ ๊ฐ๊ฐ ๊ฐ์ ๋ฃ์ด๋ณด๋ฉฐ ์๊ฐํด๋ณด๊ธธ ๋ฐ๋๋ค. ์ฝ๋์ ์ฃผ์ ๊ณจ์๋, ๋ฐ๋ณต Loop ์ค์์ ์ต์ด๋ก ์ด๋ ํ ์๋ SWAP์ด ์ผ์ด๋์ง ์๋ Loop๋ ๋ช ๋ฒ์งธ๋? ๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Bubble Sort๋ฒ๋ธ ์ ๋ ฌ ์์ฒด๋ ์ฌ์ฉํ์ง ๋ชปํ๋ค. ์๋ํ๋ฉด ์
๋ ฅ ๋ฐ์ดํฐ์ ์ต๋ ๊ฐ์๊ฐ 500,000 ์ธ๋ฐ, O(N^2)์ธ ๋ฒ๋ธ ์ ๋ ฌ์ ์ด์ฉํ๋ฉด 10^9๋ฅผ ๋๊ฒจ ์๊ฐ์ด๊ณผ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํด๋น ๋ฌธ์ ๋ Bubble Sort ์์ฒด๊ฐ ์๋๋ผ, Bubble sort์ด ์๋ํ๋ ๋ฐฉ์์ ๋ํ ์ ํํ ์ดํด๋ฅผ ํ์๋ก ํ๋ค.๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋, ์ฒซ ๋ฒ์งธ Loop๋ฅผ ๋๋ฉฐ ๋ฒ๋ธ ์ํธ๋ฅผ ์งํ..
2025.01.02
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด