์ฝ๋ฉํ
์คํธ ์ค๋น
22
์ฌ๋ผ์ด๋ฉ ๋จ์กฐ ํ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ์ฌ๋ผ์ด๋ฉ ๋จ์กฐ ํ๋ ๋ฌด์์ธ๊ฐ์?์ฌ๋ผ์ด๋ฉ ๋จ์กฐ ํ๋, DECK์ ํ์ฉํด ๊ตฌํํ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ก, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ๊ตฌ๊ฐ ๋ด์ ์ต์๊ฐ, ์ต๋๊ฐ์ O(1)์ ์ฐพ๊ธฐ ์ํด ๊ณ ์ํ ๊ตฌํ์ฒด์ด๋ค. ๋จ์กฐ๋ผ๋ ์ด๋ฆ์ด ๋ถ์ ์ด์ ๋, ๊ตฌ๊ฐ ๋ด ์ต์๊ฐ์ ์ฐพ๊ณ ์ถ์ ๊ฒฝ์ฐ, Deck ๋ด๋ถ ์์๋ค์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ์ง๋๊ณ , ๊ตฌ๊ฐ ๋ด ์ต๋๊ฐ์ด ์ฐพ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ์ง๋๊ธฐ ๋๋ฌธ์ด๋ค.์ฌ์ค ๋ด๊ฐ ๋ง๋ ์ด๋ฆ์ด๋ค...๐์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ฌํ ๋ฌธ์ ๋ฅผ ํ๋ฉด์, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ Deck์ผ๋ก ๊ตฌํํ ํํ๊ฐ ๊พธ์คํ ๋์ค๋๋ฐ, ์ธํฐ๋ท ์ฌ๊ธฐ ์ ๊ธฐ ์ฐพ์๋ด๋, ํํ๋ง ์์ ๋ฟ ์ด๊ฒ์ ์ ๋๋ก ๋ ์ด๋ฆ์ด ์์๋ค.๋ฐ๋ผ์ ์ ์ ๋ช
์นญ์ ์๋์ง๋ง! ์ค๋ช
์ ํธ์๋ฅผ ์ํด ์์ผ๋ก ํ ๊ตฌ๊ฐ ๋ด์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐพ๊ธฐ ์ํด Deck์ผ๋ก ๊ตฌํํ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ ..
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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฆฌํธ์ฝ๋] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ๊ฐ์ฅ ํฐ ์ java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ง๊ด์ ์ด๋ผ ์ค๋ช
์๋ต2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: custom Sorting์ ๋ ฌ ๋ฌธ์ ์์ง๋ง, ์ง์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ฌธ์ ๋ ์๋์๊ณ , ์ ๋ ฌ์ ๊ธฐ์ค์ ์ง์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํ ๋ฌธ์ ์๋ค. ํ์๋ ๋ฌธ์ ๋ฅผ ์ฒ์๋ถํฐ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ง์ ๊ตฌํ์ผ๋ก ๊ฐ๋ฅ์ ์๋ชป ์ก๊ณ ๋ค์ด๊ฐ์ ์์ฒญ ํค๋ฉจ๋ค. ํด๋น ๋ด์ฉ์ ๋ฐฐ์ด ๊ฒ๋ค์ ๋ ์์ธํ ๊ธฐ์ ํ๊ณ ์ฌ๊ธฐ์๋ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ๋์ง์ ์ด์ ์ ๋ง์ถ๊ฒ ๋ค.(1) ์ ๋ ฌ ๊ธฐ์คNumbers ๋ฐฐ์ด์ ์์ ์ค ์์์ ํ๋๋ฅผ A, A์ ๋ค์ ์์๋ฅผ B๋ผ๊ณ ํ์. ์ด ์ซ์๋ค์ ๋ฌธ์์ด์ด๋ผ ๊ฐ์ ํ์ ๋, ๋ค์๊ณผ ๊ฐ์ด ์ด์ด ๋ถ์ผ ์ ์์ ๊ฒ์ด๋ค. AB ํํBA ํํ์ด ๋ ํํ ์ค ๋ฌด์์ด ํฐ์ง๋ฅผ ๋์ ๊ด๊ณ ๋น๊ตํ๋ฉด ๋๋ค.AB > BA , A๊ฐ ์์ ..
2025.01.01
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
Quick ์ ๋ ฌ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. Quick ์ ๋ ฌ์ ๋ฌด์์ธ๊ฐ?Pivot(์ค์ถ)๊ฐ ๋๋ ๊ฐ์ ํ๋ ์ ์ ํด์ ๊ทธ ๊ฐ๋ณด๋ค ์์ ๊ฐ์ ์ผ์ชฝ์ผ๋ก, ํฐ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ชจ์๋ค. ์ด์ ๋๋ ์ง ๋ ๊ทธ๋ฃน ๋ด์์ ๋ค์ Pivot์ ์ ์ ํ๊ณ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ๊ฐ์ ๋ ์ด์ ์ชผ๊ฐค ์ ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ฉด ๋ชจ๋ ๊ฐ์ด ์ ๋ ฌ๋์ด ์๋ค.2. ์๋ฆฌ๋ณํฉ์ ๋ ฌ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถํ ์ ๋ณต์ ํ์ฉํ๋ ๋ ๋ค๋ฅธ ์์์ด๋ค. ๋ณํฉ ์ ๋ ฌ์์๋ ์ ๋ถํ ํ ์ ๋ณต ์ด์๋ค๋ฉด, quick ์ ๋ ฌ์ ์ ์ ๋ณต, ํ ๋ถํ ํ์์ด๋ผ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.์ ๋ณต์๋ ๋ง์ฃผ๋ณด๋ ํฌ ํฌ์ธํฐ๊ฐ ํ์ฉ๋๋ค. ์ด๋ป๊ฒ ์ฐ์ด๋์ง๋ ๋ฐ์ ์์์์ ์์ธํ ์ค๋ช
ํ๊ฒ ๋ค. (1) Pivot ์ ํ๊ธฐ (์ ํ๋ ๋ฐฉ์์ ๋์ ๋ง๊ฒ ์์ )(2) Pivot๋ณด๋ค ํฐ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ชฐ๊ธฐ, ์๊ฑฐ๋ ๊ฐ์ ๊ฐ์ ์ผ์ชฝ์ผ๋ก ๋ชฐ๊ธฐ (์ ๋ณต by ํฌ ํฌ..
2024.12.31
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 31์ผ์ฐจ TIL + [ํ๋ก๊ทธ๋๋จธ์ค] ๋คํฌ์ํฌ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ทธ๋ํ๋ฅผ ํ๋์ ๊ตฐ์ง์ฒด๋ก ๋ณผ ๋, ์ฃผ์ด์ง ์ ์ฒด ๋
ธ๋์์ ๊ตฐ์ง์ฒด๊ฐ ์ด ๋ช ๊ฐ ์๋์ง ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. 2. ์ ๊ทผ ๋ฐฉ์์ธ์ ๋ฆฌ์คํธ ํํ๋ก, ๋
ธ๋์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ๋ฐฉ๋ฌธ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๋ฐฉ๋ฌธํ์ง ์์ ๋ฐฐ์ด์ ๊ธฐ์ ์ผ๋ก BFS๋ฅผ ์คํํ๋ค.ํ ๋ฒ BFS๋ฅผ ๋๋ฉด, ์์ ์ ์ ๊ณผ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๊ฐ ๋ ๊ฒ์ด๋ค. ์ด๋ ํ๋์ ๊ตฐ์ง์ฒด๋ฅผ ์กฐํํ ๊ฑธ๋ก ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ BFS๋ฅผ ๋ ํ์๋งํผ ๊ตฐ์ง์ฒด๊ฐ ์กด์ฌํ๋ ๊ฒ์ด๋ฏ๋ก, BFS๋ฅผ ์คํํ ํ์๋ฅผ ๋ฐํํ๋ฉด ๋๋ค.3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;class Solution { public int solution(int n, int[][] computers) { ..
2024.08.21
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 29์ผ TIL + [LeetCode] maximum-profit-job-scheduling ํ์ด์ค๋ช
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ(1) ์ผ๊ฑฐ๋ฆฌ์ ์์ ์๊ฐ, ๋ ์๊ฐ, ์ผ์ ๋๋์ ๋์ ์ด์ต ์ด ์ฃผ์ด์ง๋ค.(2) ์์ ์๊ฐ๊ณผ ๋ ์๊ฐ์ ๋ฒ์๊ฐ ๊ฒน์น๋ ์ผ์ ๊ฐ์ด ํ์ง ๋ชปํ๋ค. ๋ฐ๋ฉด ์ด๋ค ์ผ์ด ๋๋์๋ง์ ๋ค๋ฅธ ์ผ์ ์์ํ ์ ์๋ค.์๋ฅผ ๋ค์ด, job A์ ๋ ์๊ฐ์ด 3์ ์ด๊ณ job B์ ์์์๊ฐ์ด 3์์ด๋ฉด ๋ ์ผ ๊ฑฐ๋ฆฌ๋ ์ฐ๋ฌ์ ํ ์ ์๋ค. ๋ฐ๋ฉด job C๊ฐ 3~5์์ด๊ณ job D๊ฐ 4~6์์ด๋ฉด ๋ ์ผ์ ์ผ์ ์๊ฐ ๋ฒ์๊ฐ ๊ฒน์น๋ฏ๋ก ๊ฐ์ดํ์ง ๋ชปํ๋ค.(3) ์ด๋, ๊ฒน์น์ง ์๊ฒ ์ผ์ ํด์, ์ต๋ ์ด์ต์ ์ป์ผ๋ ค๊ณ ํ๋ค. ์ฃผ์ด์ง ์ผ๊ฑฐ๋ฆฌ๋ค ์ค์์ ๊ฐ์ง ์ ์๋ ์ต๋ ์ด์ต์ ๋ช์ธ๊ฐ?2. ์ ๊ทผ ๋ฐฉ์KEY WORD: DP(1) ์ฃผ์ด์ง ๋ฌธ์ ๊ฐ ์์์๊ฐ, ๋์๊ฐ, ์ด์ต์ ๋ฐ๋ก ๋ฐ๋ก ์ฃผ๊ธฐ์ ์ด๋ฅผ ํ๋์ ์ผ(job) ๋จ์๋ก ํ๋๋ก ๋ฌถ..
2024.08.20
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 28์ผ์ฐจ + [๋ฐฑ์ค] 1874 ์คํ ์์ด java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: DATA STRUCTURE(0) ํ์ฌ ์กฐํ ์ค์ธ ์๋ฅผ value, ์ถ๋ ฅํด์ผ ํ๋ ์๋ฅผ now๋ผ๊ณ ํด๋ณด์.(1) value (2) stack์ top๊ณผ now๋ฅผ ๋น๊ตํ๋ค.(3) top์ด ํฌ๋ฉด ์ด๋ค ๋ฐฉ๋ฒ์ ์จ๋ ์์ด์ ๋ง๋ค ์ ์๋ค. NO๋ฅผ ์ถ๋ ฅํ์.(์๋ํ๋ฉด, ์์ด์ ๋ฌด์กฐ๊ฑด stack์์ pop๋๋ ๊ฐ์ผ๋ก ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. stack์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ๊ฐ์ด ์ ์ฅ๋๊ธฐ์, ํ stack์ top ๊ฐ์ด ํฌ๋ค๊ณ ์๋ก push๋ฅผ ๋ฐ์ผ๋ฉด ๋ ํฐ ๊ฐ๋ฐ์ ๋ค์ด์ค์ง ์๋๋ค. stack์ top์ด now๋ณด๋ค ์์ ๋๋ ๊ฐ์ ๊ฐ์ด ๋ค์ด์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋๋ ๊ฒ๊ณผ ์๋ฐ๋๋ค.)(4) top == now ์ด๋ฉด stack์์ popํด์ ๊ฐ์ ๋บ๋ค.Stack์ ์ง์ง sta..
2024.08.18
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 26์ผ์ฐจ TIL + [ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ธ์ ๋ณด ์์ง ์ ํจ๊ธฐ๊ฐ ํ์ด
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ(1) ์ค๋์ด ๋ช๋
, ๋ช์, ๋ฉฐ์น ์ธ์ง ์๋ ค์ฃผ๊ณ , ๊ฐ์ธ์ ๋ณด์ ์ ํ๋ณ๋ก ์ ๋ณด ๋ณด๊ด ๊ธฐ๊ฐ์ ์๋ ค์ค๋ค. (2) String ๋ฐฐ์ด ํํ๋ก, ์ ๋ณด๊ฐ ์์ง๋ ๋ ์ง, ๊ฐ์ธ์ ๋ณด์ ์ ํ์ด ์ฃผ์ด์ง ๋, ์ฃผ์ด์ง ๋ฐฐ์ด์์ ์ค๋ ํ๊ธฐ๋ ์ ๋ณด๊ฐ ๋ฌด์์ธ์ง, ๋ฒํธ๋ฅผ ๋ฐฐ์ด ํํ๋ก ๋ฐํํ๋ผ. 2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ๋ฌธ์์ด ์๋ฅด๊ธฐํด๋น ๋ฌธ์ ์ ์
๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋ค. todaytermsprivaciesresult"2022.05.19"["A 6", "B 12", "C 3"]["2021.05.02 A", "2021.07.01 B", "2022.02.19 C", "2022.02.20 C"][1, 3]"2020.01.01"["Z 3", "D 5"]["2019.01.01 D", "2019.11.15 Z", "2..
2024.08.16
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 25์ผ์ฐจ TIL + [ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋ ๊ฐ์ง ํ์ด โจ
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ 2. ์ ๊ทผ ๋ฐฉ์KEY WORD: BFS์๊ฐ ํด์ผํ ์ : ํ๋์ ์ ์ ์ด ์์ ์ ์์น๋ฅผ ์๋ค๋ ๊ฒ์ ๋จ๋ฐฉํฅ ๊ทธ๋ํ์์ ํด๋น ์ ์ง์ด ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๋ค๊ณผ ์์ด๋ฅผ ๊ฐ์ง๋ค๋ ๊ฒ์ด๋ค. ์ด ๋, ํด๋น ์์ด์ ๊ฐ์ ์ ์ผ๋ก ํ์
์ด ๋๋ ๋๋ค.๊ฐ์ ์ ์ผ๋ก ํ์
๋๋ค๋ ๊ฒ์ ๋ฌด์จ ๋ป์ธ๊ฐ?ํด๋น ๊ทธ๋ฆผ์, ๋ฌธ์ ์์ ์์๋ก ์ฃผ์ด์ง, ์ ์ ๋ค๊ฐ์ ๊ด๊ณ์ด๋ค. ๋ฌธ์ ์์๋ 2๋ฒ์ด 1,4,3๋ฒ์๊ฒ ํจํ๊ณ , 5๋ฒ์๊ฒ ์ด๊ฒผ์์ผ๋ก 4๋ฑ์ด๋ผ๊ณ ํ๋ค. 5๋ฒ์ ๊ทธ 2๋ฒ์๊ฒ ์ก์์ผ๋ก, 1,3,4๋ฒ์๊ฒ๋ ๊ฐ์ ์ ์ผ๋ก ์ง ๊ฒ์ด๋ค. ๋ฐ๋ผ์ 2, 5๋ฒ์ ๋ชจ๋ ์ ์ ์ ๋ํด์ ์์ด์ ๊ฐ์ง๋ค.(1) ๋จ ๋ฐฉํฅ ๊ทธ๋ํ๋ฅผ ๋ ๊ฐ ๋ง๋ค๊ธฐ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋จ ๋ฐฉํฅ ๊ทธ๋ํ 2๊ฐ ๋ง๋ค๊ธฐ ์ด๋ค.์ฐ๋ฆฌ์ ํต์ฌ์, ํ์ฌ ์กฐํ ์ค์ธ ์ ์ ์ด ๊ฐ์ ์ ์ผ๋ก๋ผ๋, ๋ชจ๋ ์ ์ ๊ณผ ์์ด..
2024.08.15
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 18์ผ์ฐจ TIL + [๋ฐฑ์ค] 5547 ์ผ๋ฃจ๋ฏธ๋ค์ด์
java ์๋ฒฝ ์ค๋ช
! ^^
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: BFS, IDEAํด๋น ๋ฌธ์ ๋ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ IDEA๋ง ์๊ฐํด๋ธ๋ค๋ฉด ๊ฐ๋จํ BFS ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.(1) ์
๋ ฅ๋ฐ์ ์ขํ์ ๋ณ๋๋ฆฌ ๋ถ๋ถ๋ ํ์ธํธ๋ฅผ ์น ํ ์ ์๋ค. ๊ฐ๋ นํ๋์์ผ๋ก ์น ํ ๋ถ๋ถ์ ๋ด๋ผ. ๋ง์ฝ ์
๋ ฅ ์ขํ ๊ทธ๋๋ก 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค๋ฉด, ํด๋น ๋ณ๋๋ฆฌ ๋ถ๋ถ์ ๋ฐฐ์ด์ ๋ฒ์ด๋๊ฒ ๋์ด, ํ์ธํธ๋ฅผ ์น ํ ๋ ๊ณจ์น๊ฐ ์ํ์ง๋ค. (์์นซ ์๋ชปํ๋ฉด OutOfArrayIndex ์๋ฌ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค!!)๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํด๋น ์ขํ๋ ๋ฐฐ์ด ๋ด์์ ๋ฐ์ ์ ์๋๋ก 2์ฐจ์ ๋ฐฐ์ด์ ํ
๋๋ฆฌ๊น์ง ๋๋ํ๊ฒ ๋ง๋ค๊ณ , ์ฌ๊ธฐ์ ์
๋ ฅ๋ฐ์ ์ขํ๊ฐ๋ค์ ์ง์ด๋ฃ๋๋ค.int [][] map = new int [row+2][col+2]๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ ๋ฐ์ ์ ์๋ค. ํ๋์์ผ..
2024.08.08
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 16์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค N-queen java ์ฌ์ด ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD : BACK-TRACKING(0) ์ฌ์ ์ธํ
1์ฐจ์ ๋ฐฐ์ด(arr)์ n์ ํฌ๊ธฐ๋งํผ ๋ง๋ค๊ณ ๋ฐฐ์ด์ index = ํ , ๋ฐฐ์ด์ value = ์ด๋ก ์๊ฐํ๋ค.์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ด ๋ค์๊ณผ ๊ฐ์ ๋, ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์ด๋ ๊ฒ ๋๋ค.index(ํ)0123value(์ด)1302(1) ๋ง์ฝ์ arr[i] = j ๋ผ๊ณ ํ๋ค๋ฉด 2์ฐจ์ ๋ฐฐ์ด [i] [j] ์ ํธ์ ๋๊ฒ ๋ค๋ ์๋ฆฌ์ด๋ค. ์ด๊ฒ ๊ฐ๋ฅํ์ง ์ฒดํฌํ๋ค. ์ฒดํฌํ๋ ๋ฐฉ๋ฒ์0 ~ i-1 ๊น์ง์ ๋ฐฐ์ด ๊ฐ์ ์ด์ฉํด, ์ด์ ์ ๋๋ ํธ์ ๊ณต๊ฒฉ ๊ฒฝ๋ก์ ๊ฒน์น๋์ง ํ์ธํ๋ฉด ๋๋ค. ํ์ธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.(1-1) ์ขํ๋จ ํ์ธ๋๊ฐ์ ์ด ์ผ์นํ๋ ๊ฐ๋ค์ ๋ชจ๋ ํ+์ด์ ํฉ์ด ๊ฐ๋ค. ์ด๋ฅผ ์ด์ฉํ๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ๋ index๊ฐ ํ์ด๊ณ value๊ฐ ์ด..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 15์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค ์์ ์ฐพ๊ธฐ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ๋ธ๋ฃจํธ ํฌ์ค(1) ๋ฌธ์์ด๋ก ๋ฐ์ ์ซ์๋ฅผ ํ ์๋ฆฟ์๊ฐ ๋๊ฒ ๋๋์ด์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.(2) ์ ์ฒด ์ซ์๊ฐ n๊ฐ๋ผ๋ฉด ๊ทธ ์ค k๊ฐ๋ฅผ ๋ฝ์์ ๋์ดํ๋ค. (์์ด, k = 1 ~ n )(3) ๋์ด๋ k๊ฐ์ ์๋ฅผ ํฉ์ณ์ ํ๋์ ์ซ์๋ก ๋ง๋ค๊ณ , ์์ ํ๋ณํ๋ค. (์์ ํ๋ณ๋ฒ ์ด์ฉ)(4) ์์ ํ๋ณ์ด ํ์ ๋๋ฉด ํด๋น ์๊ฐ ์ด์ ์ ๋์๋์ง, hashSet์ผ๋ก ์ฒดํฌํ๋ค. ์์ผ๋ฉด, ์์์ ๊ฐ์๋ฅผ +1 ์ฌ๋ฆฐ๋ค. โป์ถ์ โป(1)๋๋ ํ์๋ฆฌ ์๋ฅผ ํฉ์น๋ ๊ฒ์ ์๋์ ์ * 10 + ์๋ก ๋ค์ด์จ ํ ์๋ฆฌ ์๋ก ๊ทธ๋ ๊ทธ๋ ๋ฐ๋ก ํ๋ค.(2)์์ ํ๋ณ๋ฒ์ ๋ชจ๋ฅธ๋ค๋ฉด, ์ ๋ฆฌ ์ ํ ์ฌ๋ ๋งํฌ๋ฅผ ๋ณด๊ณ ์ค๊ธฐ ๋ฐ๋๋ค. ํด๋น ๋งํฌ์์๋ ์ n์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ๋๋ ์ ํ์ธํ๋ฉด ๋๋์ง ๋์์๋ค.(3)์..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 13์ผ์ฐจ TIL + Programmers ์
๊ตญ ์ฌ์ฌ๋ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ์ด๋ถ ํ์๋ฌด์์ ๊ธฐ์ค ์ผ๋ก ์ด๋ถํ์์ ํด์ผํ ๊น?์ด๋ถ ํ์ ๋ฌธ์ ๋ฅผ ํ ๋, ์ ์ผ ์ด๋ ค์ด ๋ถ๋ถ์ด๋ค. ์ด๋ ค์ด ๋ฌธ์ ์ผ์๋ก ๋ฌด์์ ๊ธฐ์ค์ผ๋ก ์ด๋ถ ํ์์ ํด์ผํ ์ง ๊ฐ์ด ์์ง ์๋๋ค. ๋ ๋ํ ๊ทธ๋ฌ๋ค. ๊ทธ๋์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ์์ด๋์ด๊น์ง ๋ดค๋ค. ๋ถ๋ช
1๋
์ ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฑ์ค์ผ๋ก ํ์๋๋ฐ, ์ ๋ ์ฌ๋ผ์ ์ข ์ข์ ํ๋ค ใ
(1) ๊ธฐ์ค : M ์๊ฐ ๋น ๊ฐ ์ฌ์ฌ๋์์ ์ฒ๋ฆฌํ๋ ์ฌ๋์ ์๋ด ๊ธฐ์ค์์ ์ด๋ ค์ ๋ ์ ์ ๊ท์น - ์ฌ์ฌ๋๊ฐ ๋น๋๋ผ๋, ์ฌ๋์ ๋ค๋ฅธ ์ฌ์ฌ๋๊ฐ ๋น ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ์๋ค. ์ด ์์จ์ฑ ๋๋ฌธ์, ๋ฌธ์ ์ ์ ํ์ ์๊ฐํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๊ธฐ์ตํด์ผํ ์ ์, ๋ฌด์์ ์ด๋ถ ํ์ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ ๋๋, ๋ฐํํ๋ ๋ต์ ๊ธฐ์ค์ผ๋ก ํ์ํ ๊ฒ์ด..
2024.08.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 9์ผ์ฐจ TIL + ๋ฐฑ์ค 1927 ์ต์ํ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์์ด๊ฑด ๋ญ Priority Queue ์ธ ์ค ์๋๊ณ ๋ฌป๋ ๋ฌธ์ ์๋ค.PQ๋ฅผ ๋ง๋ ๋ค. (default๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด๋ ๊ฑด๋ค์ผ ๊ฒ์ด ์๋ค.)๋ฌธ์ ์์ ์ ๊ณตํ๋ Order์ ๋ฐ๋ฅธ๋ค. (0์ด๋ฉด ์ถ๋ ฅ, ๋๋จธ์ง๋ฉด ์ ์ฅ)3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PriorityQueue pq = new PriorityQueue(); ..
2024.07.30
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5์ผ์ฐจ TIL + Programmers ๋ฒ ์คํธ ์จ๋ฒ
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Sorting, HashMap์์
๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค. ( ๋ฉค๋ฒ ๋ณ์: ์์ ์ ๊ณ ์ ๋ฒํธ, ์ฅ๋ฅด, ํ๋ ์ด ํ์ )์
๋ ฅ ๊ฐ๋ค์ ์ ๋ถ ์์
๊ฐ์ฒด๋ก ๋ฐ๊ฟ์ ArrayList์ ์ถ๊ฐํ๋ค.HashMap์ ๋ง๋ ๋ค. Key = ์ฅ๋ฅด , value = ์ฅ๋ฅด์ ํด๋นํ๋ ๊ณก๋ค์ ํ๋ ์ด ์ดํฉ2๋ฒ์์ ๋ง๋ ArrayList๋ฅผ ์ ๋ ฌํ๋ค. ์ ๋ ฌ ๊ธฐ์ค์ ๋ฌธ์ ๊ทธ๋๋ก๋ค. -> Comparator๋ฅผ ๋จ์ํํ Lamda ์์ ์ด์ฉํด ๊ตฌํ๋ต๋ณ์ฉ ansList๋ฅผ ๋ง๋ค๊ณ , ๋ต๋ณ์ ์ฅ๋ฅด๋ณ๋ก ๋ช ๋ฒ ๋ค์ด๊ฐ๋์ง๋ฅผ ๋ํ๋ด๋ genreAddedCount๋ผ๋ HashMap๋ ํ๋ ๋ ๋ง๋ ๋ค.genreAddedCount๋ Key = ์ฅ๋ฅด, value = ์ฅ๋ฅด ๋ณ๋ก ๋ต๋ณ List์ ๋์จ ํ์ ์ด๋ค. .get..
2024.07.27
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด