ALL
579
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[ํ๋ก๊ทธ๋๋จธ์ค] 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
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
Quick ์ ๋ ฌ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. Quick ์ ๋ ฌ์ ๋ฌด์์ธ๊ฐ?Pivot(์ค์ถ)๊ฐ ๋๋ ๊ฐ์ ํ๋ ์ ์ ํด์ ๊ทธ ๊ฐ๋ณด๋ค ์์ ๊ฐ์ ์ผ์ชฝ์ผ๋ก, ํฐ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ชจ์๋ค. ์ด์ ๋๋ ์ง ๋ ๊ทธ๋ฃน ๋ด์์ ๋ค์ Pivot์ ์ ์ ํ๊ณ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ๊ฐ์ ๋ ์ด์ ์ชผ๊ฐค ์ ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ฉด ๋ชจ๋ ๊ฐ์ด ์ ๋ ฌ๋์ด ์๋ค.2. ์๋ฆฌ๋ณํฉ์ ๋ ฌ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถํ ์ ๋ณต์ ํ์ฉํ๋ ๋ ๋ค๋ฅธ ์์์ด๋ค. ๋ณํฉ ์ ๋ ฌ์์๋ ์ ๋ถํ ํ ์ ๋ณต ์ด์๋ค๋ฉด, quick ์ ๋ ฌ์ ์ ์ ๋ณต, ํ ๋ถํ ํ์์ด๋ผ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.์ ๋ณต์๋ ๋ง์ฃผ๋ณด๋ ํฌ ํฌ์ธํฐ๊ฐ ํ์ฉ๋๋ค. ์ด๋ป๊ฒ ์ฐ์ด๋์ง๋ ๋ฐ์ ์์์์ ์์ธํ ์ค๋ช
ํ๊ฒ ๋ค. (1) Pivot ์ ํ๊ธฐ (์ ํ๋ ๋ฐฉ์์ ๋์ ๋ง๊ฒ ์์ )(2) Pivot๋ณด๋ค ํฐ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ชฐ๊ธฐ, ์๊ฑฐ๋ ๊ฐ์ ๊ฐ์ ์ผ์ชฝ์ผ๋ก ๋ชฐ๊ธฐ (์ ๋ณต by ํฌ ํฌ..
2024.12.31
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[Java] HashMap์์ Custom Class๋ฅผ Key๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
0. ์์๋ณผ ๊ฒ1. Hash Map ์ด๋? ํํ์ ๋ฐ์ดํฐ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐKEY๋ฅผ ํ์ฉํด HashMap์ VALUE์ (์ ์ฅ, ์ญ์ , ์กฐํ) ํ๋๋ฐ ํ๊ท O(1)์ ์๊ฐ์ด ๋ ๋ค. ์์ ENTRY๋ผ๊ณ ๋ถ๋ฅธ๋ค.KEY ๊ฐ์ ์ค๋ณต๋ ์ ์๊ณ , VALUE ๊ฐ์ KEY ๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด ์ค๋ณต์ ์ฅ์ด ๊ฐ๋ฅํ๋ค.2. HashMap ๋ด๋ถ ๊ตฌ์กฐHashMap์ ํฌ๊ฒ HASH ํจ์์ Hash Bucket์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.Hash Bucket์ ๊ฐ์ ์ ์ฅํ๋ ์ฅ์๋ก Array๋ก ๊ตฌํ๋์ด ์๋ค.Hash ํจ์๋ ์
๋ ฅ ๊ฐ ๋ง๋ค์ Hash ๊ฐ์ ๋ฐํ ํ๋๋ฐ, ํด๋น Hash ๊ฐ์ Hash Bucket์ Index์ด๋ค. ๋ฐ๋ผ์ Hash ํจ์๋ ์
๋ ฅ ๊ฐ์ด ์ ์ฅ๋ ์์น๋ฅผ ์๋ ค์ฃผ๋ ๋ค๋น๊ฒ์ดํฐ ์ญํ ์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.์ด์ ์ค์ ์
๋ ฅ๊ฐ..
2024.12.31
Language/Java
๋ณํฉ ์ ๋ ฌ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ!
1. ๋ณํฉ ์ ๋ ฌ์ ๋ฌด์์ธ๊ฐ?๋ณํฉ ์ ๋ ฌ์ (1) ์ธ์ธํ๊ฒ ๋๋๋ค. โ (2) ํ๋์ฉ ์ ๋ณตํ๋ค ์ ๋ฐฉ์์ผ๋ก ์ ๋ ฌ๋์ง ์์ ์ผ๋ จ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.2. ์๋ฆฌ๋ค์ 3๊ฐ์ง ์์๋ฅผ ๋ฐ๋ผ์ ์งํ๋๋ค.(1) *๋ ์ด์ ์ชผ๊ฐค ์ ์์ ๋๊น์ง ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ์ํจ๋ค.* ( ๋ถํ by ์ฌ๊ท)(2) ์ธ์ ํ ๋ฐ์ดํฐ ๊ทธ๋ฃน๋ผ๋ฆฌ ๋์๊ด๊ณ ๋น๊ต๋ฅผ ํตํด ์ ๋ ฌ์ํจ๋ค. (์ ๋ณต by ํฌ ํฌ์ธํฐ)(3) ์ ๋ ฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๊ฐ์ฃผํ๊ณ , ๋ฐ์ดํฐ ์ ์ฒด๊ฐ ํ๋์ ๊ทธ๋ฃน์ด ๋ ๋๊น์ง (2)๋ฒ์ ๋ฐ๋ณตํ๋ค.3. ์์๋น ์ ๋ ฌ๋ ์ผ๋ จ์ ๋ฐ์ดํฐ๋ฅผ ์์ ๋ฐฉ์์ ์ฐจ๋ก๋๋ก ์ํํ์ฌ ์ ๋ ฌ์์ผ๋ณด๊ฒ ๋ค.7, 2, 4, 3, 1, 5, 6์ ์ผ๋ จ์ ๋ฐ์ดํฐ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ํจ๋ค๊ณ ๊ฐ์ ํด๋ณด์.(1) ๋ถํ by ์ฌ๊ท์ฌ๊ท๋ฅผ ํตํด ๋ฐ์ดํฐ๋ค์ ๋ ์ด์ ์ชผ๊ฐค ..
2024.12.30
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2003 ์๋ค์ ํฉ2 ์ฌ์ด ํ์ด java ^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: one-way Two pointer๋จ๋ฐฉํฅ ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ ์ ํ์ ์ธ ๋ฌธ์ ์ด๋ค. ์ผ์ชฝ ํฌ์ธํฐ(L)๊ณผ ์ค๋ฅธ์ชฝ ํฌ์ธํฐ(R)์ ๋๋ค. ํด๋น ๊ตฌ๊ฐ ๋ด ์๋ค์ ํฉ์ sum์ด๋ผ ํ๊ฒ ๋ค.sum : R ํฌ์ธํฐ๋ฅผ ์ ์ง์ํจ๋ค.sum >= M: L ํฌ์ธํฐ๋ฅผ ์ ์ง์ํจ๋ค. (๋ง์ฝ sum == M์ด๋ฉด ๋ต์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ +1 ์ฌ๋ฆฐ๋ค.)๊ตฌ๊ฐ ๋ด์ ํฉ์ ๊ตฌ๊ฐ ๋ด์ ๊ฐ์ด ์์ ํ๋์ธ ๊ฒฝ์ฐ๋ ํฌํจํ๋ค. ๋ฐ๋ผ์ arr[0] == M ์ธ ๊ฒฝ์ฐ๋ ์์ธ ์์ด ๊ณ์ฐ์ ํฌํจ๋๋๋ก ํด์ค์ผ ํ๋ค.๋๋ 3๋ฒ์ ๊ท์น์ ์งํค๊ธฐ ์ํด ๋ฐฐ์ด์ N+1๋ก ๋ง๋ค์ด ๊ฐ๋ค์ 1๋ถํฐ ์ฑ์ฐ๊ณ , ํฌ์ธํฐ๋ค์ 0๋ถํฐ ์์ํ๋๋ก ํ์๋ค.3. ์ฝ๋ ์๊ฐ ๐import java.io.*;import java..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
ํฌ ํฌ์ธํฐ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
0. ๊ธ์ด ํ๋ฌ๊ฐ๋ ๋ฐฉํฅ๋จผ์ ๊ฐ๋
์ค๋ช
์ ํ๊ณ , ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ 2๊ฐ๋ฅผ ์ง์ ํ์ด๋ณด๋ฉฐ, ๊ฐ๋
์ ๋ํ ๋ณด์ถฉ์ ํ๊ฒ ๋ค.1. ๊ฐ๋
1์ฐจ์ ๋ฐฐ์ด์ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๋๊ณ , ๋ ํฌ์ธํฐ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ์ฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ธฐ์ ๋ฐฐ์ด ์์์ ํน์ ์กฐ๊ฑด์ ๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์์, ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ณต์ก๋๊ฐ O((N^{2}))๊ฐ ๋ ๋ค๋ฉด, ํฌ ํฌ์ธํฐ ๊ธฐ๋ฒ์ ํ์ฉํ๋ฉด ์๊ฐ ๋ณต์ก๋๋ฅผ O(N)์ผ๋ก ์ค์ผ ์ ์๋ค. (์ด์ ๋ ํ์ฉ์ ์ดํด๋ณด๋ฉฐ ์ค๋ช
ํ๊ฒ ๋ค.)(1) ์ ํํฌ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ๋ ์ ํ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค.a.๋จ๋ฐฉํฅ ์ด์ฉL ํฌ์ธํฐ์ R ํฌ์ธํฐ๊ฐ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์์ง์ด๋ ๊ฒ์ด๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ์๋์ ์๋ฏธํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๋ค๋ฅธ ์ ์ ํฌ์ธํฐ์ ๋ฐ๋ผ ๊ตฌ๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ๋ณ์ ์ด๋ผ๋ ๊ฒ์ด๋ค.b. ์๋ฐฉํฅ ์ด..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก