๊ฐ๋ฐ์
48
[๋ฆฌํธ์ฝ๋] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ๊ฐ์ฅ ํฐ ์ java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ง๊ด์ ์ด๋ผ ์ค๋ช
์๋ต2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: custom Sorting์ ๋ ฌ ๋ฌธ์ ์์ง๋ง, ์ง์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ฌธ์ ๋ ์๋์๊ณ , ์ ๋ ฌ์ ๊ธฐ์ค์ ์ง์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํ ๋ฌธ์ ์๋ค. ํ์๋ ๋ฌธ์ ๋ฅผ ์ฒ์๋ถํฐ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ง์ ๊ตฌํ์ผ๋ก ๊ฐ๋ฅ์ ์๋ชป ์ก๊ณ ๋ค์ด๊ฐ์ ์์ฒญ ํค๋ฉจ๋ค. ํด๋น ๋ด์ฉ์ ๋ฐฐ์ด ๊ฒ๋ค์ ๋ ์์ธํ ๊ธฐ์ ํ๊ณ ์ฌ๊ธฐ์๋ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ๋์ง์ ์ด์ ์ ๋ง์ถ๊ฒ ๋ค.(1) ์ ๋ ฌ ๊ธฐ์คNumbers ๋ฐฐ์ด์ ์์ ์ค ์์์ ํ๋๋ฅผ A, A์ ๋ค์ ์์๋ฅผ B๋ผ๊ณ ํ์. ์ด ์ซ์๋ค์ ๋ฌธ์์ด์ด๋ผ ๊ฐ์ ํ์ ๋, ๋ค์๊ณผ ๊ฐ์ด ์ด์ด ๋ถ์ผ ์ ์์ ๊ฒ์ด๋ค. AB ํํBA ํํ์ด ๋ ํํ ์ค ๋ฌด์์ด ํฐ์ง๋ฅผ ๋์ ๊ด๊ณ ๋น๊ตํ๋ฉด ๋๋ค.AB > BA , A๊ฐ ์์ ..
2025.01.01
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
๊ธฐ์ ์ ๋ ฌ(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
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 1253 ์ข๋ค. java ํ์ด (๊ทธ๋ฆผ์ผ๋ก ์ฌ์ด ์ค๋ช
^^)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ผ๋ จ์ ์๊ฐ 1์ฐจ์ ๋ฐฐ์ด ํ์์ผ๋ก ์ฃผ์ด์ง๋ค. ์ด๋ ์๋ค ์ค ์์์ ์ ํ๋๋ฅผ ๋ค๋ฅธ ์ ๋๊ฐ์ ํฉ์ผ๋ก ๋ํ๋ผ ์์ ๋, ์ด ์์์ ์๋ฅผ ์ข์ ์๋ผ๊ณ ํ๋ค. ์ด๋ฌํ ์ข์ ์๊ฐ ๋ฐฐ์ด ๋ด์ ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ผ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKey Word: Two-way Two Pointer๋ ํฌ์ธํฐ์ ํฉ > target: R ํฌ์ธํฐ๋ฅผ ํ ์นธ ๋ด๋ ค ํฉ์ ํํฅ ์กฐ์ ๋ ํฌ์ธํฐ์ ํฉ : L ํฌ์ธํฐ๋ฅผ ํ ์นธ ์ฌ๋ ค ํฉ์ ์ํฅ ์กฐ์ ๋ ํฌ์ธํฐ์ ํฉ == target: ๋ต์ +1 ์ฌ๋ฆฌ๊ณ ๋ฐ๋ณต๋ฌธ ์ข
๋ฃ(1) ์๊ฐ ๋ณต์ก๋๋? N = 2000 ์ผ๋ก ์ด์ค ๋ฐ๋ณต๋ฌธ๊น์ง ํ์ฉ ๋ฒ์์ด๋ค. ๋ฐ๋ผ์N๊ฐ ์ค์ ํ๋ Target ๊ฐ์ผ๋ก ์ฐพ๊ธฐ (O(N))๋ ํฌ์ธํฐ ์์ง์ด๋ฉฐ Target ๊ฐ ๋ง๋ค ์ ์๋์ง ์ฐพ๊ธฐ (O(N))๋ ์์ง์์ ..
2024.12.26
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2905 ํ์ค์ด์ ์ธํ๋ฆฌ ๋ฌธ์ ํ์ด java (๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ค๋ช
^^)
1
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ด๋ ค์์ ๋ถ์ฐ ์ค๋ช
์ ํ๊ฒ ๋ค.N๊ฐ์ ์ธํ๋ฆฌ์ ๋๋น๊ฐ X์ธ ๋ฃฐ๋ฌ๊ฐ ์๋ค. ์ธํ๋ฆฌ์ ๊ฒฝ์ฐ ๋๋น๋ 1๋ก ๊ณ ์ ์ด๊ณ , ๋์ด๋ง 1์ฐจ์ ๋ฐฐ์ด ํ์์ผ๋ก ์ฃผ์ด์ง๋ค. ๋น์ ์ ๋ฃฐ๋ฌ๋ฅผ ํ์ฉํ์ฌ ํ์ธํธ๋ฅผ ์น ํ ๊ฒ์ธ๋ฐ, ๋๋น๊ฐ X์์ผ๋ก, X ๋๋น ๋ด์ ์ธํ๋ฆฌ๋ ํ ๋ฒ์ ์น ํ๊ฒ ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค. (1) ๋ฃฐ๋ฌ์ ๋ถ๋ถ์ด ํ๊ณต์ ๋ฟ์ผ๋ฉด ์๋๋ค.์ผ์ชฝ๊ณผ ๊ฐ์ด ์ผ๋ จ์ ์ธํ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ค๋ฉด, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ํ
๋๋ฆฌ ์ ์ชฝ๋ง ๋กค๋ฌ๋ฅผ ๋๋ ค ์น ํ ์ ์๋ค๋ ๋ง์ด๋ค. ์ฆ ๋กค๋ฌ ๋๋น X ๋ด์ ์ ์ผ ์์ ์ธํ๋ฆฌ๊ฐ ์์น ์ ๊ธฐ์ค์ด ๋๋ค. (2) ์น ํ๋ฐ๋ ๋ ์น ํ ์ ์๋ค.๋ค์๊ณผ ๊ฐ์ด ๋กค๋ฌ์ ๋๋น๊ฐ 3์ผ ๋, ์ฒ์ ๋ง๋ฑ๋จ๋ฆฌ๋ ๊ตฌ๊ฐ์์๋ ์ต๋๋ก ์น ํ ์ ์๋ ๋์ด๊ฐ 1์ผ ๊ฒ์ด๋ค.๋กค๋ฌ๋ฅผ ํ ์นธ ..
2024.12.25
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] ๋ ์ฉ์ก java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ฉ์ก๋ง๋ค ํน์๊ฐ์ด ์กด์ฌ๋ ์ฉ์ก์ ๊ณจ๋ผ์ ๋์ ํน์ ๊ฐ์ ํฉํ์ ๋, ๊ทธ ํฉ์ด 0์ ๊ฐ์ฅ ๊ฐ๊น์ด ์กฐํฉ์ ๊ตฌํ์ฌ๋ผ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Two way Two pointer์ฉ์ก์ ํน์๊ฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ์
๋ ฅ๋ฐ๊ณ , ํด๋น ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.index = 0์ L ํฌ์ธํฐ, index = N-1์ R ํฌ์ธํฐ๋ฅผ ๋๋คL+R > 0 ์ผ ๊ฒฝ์ฐ, R ํฌ์ธํฐ๋ฅผ ํ ์นธ ํ์ง ์์ผ์ ํฉ์ ํํฅ์กฐ์ ํ๋ค.L-R ์ผ ๊ฒฝ์ฐ, L ํฌ์ธํฐ๋ฅผ ํ ์นธ ์ ์ง ์์ผ์ ํฉ์ ์ํฅ์กฐ์ ํ๋ค.0์ ๊ฐ๊น์ด ๊ฐ์ ๊ตฌํด์ผํจ์ผ๋ก, ๋ ์ฌ์ด์ ํฉ์ ์ ๋๊ฐ์ด ์ต์์ธ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.(์๋ํ๋ฉด, ๋ ํฌ์ธํฐ ์ฌ์ด์ ํฉ์ ์ ๋๊ฐ์ด ์ปค์ง์๋ก 0์์ ๋ฉ์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค.)(1) ๋จ๋ฑกํญ ํฌ ํฌ์ธํฐ๋ก ๋ต์ ๊ตฌํ ์ ์๋ ..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด