user-img
ALL 579
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฆฌํŠธ์ฝ”๋“œ] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฆฌํŠธ์ฝ”๋“œ] 912 sort an array java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์˜ ๋‚ด๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  O(nlog(n))์— ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ด ๊ด€๊ฑด์ด๋‹ค.(๋ฌธ์ œ์—์„œ๋„ ์ง„์งœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋ ฌ์„ ์ผ๋Š”์ง€ ์•ˆ ์ผ๋Š”์ง€๋Š” ์–‘์‹ฌ์— ๋งก๊ฒผ๋‹ค...)2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKey word: Merge sort๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ์ตœ์•…์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(nlog(n))์ด๊ธฐ ๋•Œ๋ฌธ์— ์“ฐ๋ฉด ํ’€๋ฆฐ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ ๊ฐ€์ง€ ๋ฐฑ์ค€๊ณผ ๋‹ค๋ฅธ ์ ์ด ์žˆ์–ด 1์‹œ๊ฐ„ ๋™์•ˆ ํ—ค๋ฉ˜ ๋ถ€๋ถ„์ด ์žˆ๋‹ค. ๋ฆฌํŠธ์ฝ”๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด์˜ ์‹œ๊ฐ„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ƒ๊ธฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ ํ—ค๋“œ, ๊ฐ€๋น„์ง€ ์ปฌ๋ž™์…˜ ๋ถ€๋‹ด์— ๋”ฐ๋ฅธ ์‹คํ–‰ ์‹œ๊ฐ„ ์ฆ๊ฐ€ ๋˜ํ•œ ์‹คํ–‰์‹œ๊ฐ„์— ํฌํ•จ์‹œํ‚ค๋Š” ๋“ฏ ํ•˜๋‹ค.๊ทธ๋ ‡๊ฒŒ ๋Š๋‚€ ์ด์œ ๋Š” ๋‚ด๊ฐ€ Merge_sort๋ฅผ ํ•˜๋ฉด์„œ ๋ถ€๋ถ„ ์ •๋ ฌ๋œ ๊ฐ’๋“ค์„ ๋„ฃ์„ tmp ์ž„์‹œ ๋ฐฐ์—ด์„ ๋งค ์žฌ๊ท€..
2025.01.03
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฆฌํŠธ ์ฝ”๋“œ] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2 ๊ฐ€์žฅ ํฐ ์ˆ˜ java ์‰ฌ์šด ํ’€์ด^^
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ๋งํฌ๋ฌธ์ œ ์„ค๋ช…์ด ์ง๊ด€์ ์ด๋ผ ์„ค๋ช… ์ƒ๋žต2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: custom Sorting์ •๋ ฌ ๋ฌธ์ œ ์˜€์ง€๋งŒ, ์ง์ ‘ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ๊ณ , ์ •๋ ฌ์˜ ๊ธฐ์ค€์„ ์ง์ ‘ ์ œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์˜€๋‹ค. ํ•„์ž๋Š” ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง์ ‘ ๊ตฌํ˜„์œผ๋กœ ๊ฐ€๋‹ฅ์„ ์ž˜๋ชป ์žก๊ณ  ๋“ค์–ด๊ฐ€์„œ ์—„์ฒญ ํ—ค๋ฉจ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์€ ๋ฐฐ์šด ๊ฒƒ๋“ค์— ๋” ์ž์„ธํžˆ ๊ธฐ์ˆ  ํ•˜๊ณ  ์—ฌ๊ธฐ์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€์— ์ดˆ์ ์„ ๋งž์ถ”๊ฒ ๋‹ค.(1) ์ •๋ ฌ ๊ธฐ์ค€Numbers ๋ฐฐ์—ด์˜ ์›์†Œ ์ค‘ ์ž„์˜์˜ ํ•˜๋‚˜๋ฅผ A, A์˜ ๋‹ค์Œ ์›์†Œ๋ฅผ B๋ผ๊ณ  ํ•˜์ž. ์ด ์ˆซ์ž๋“ค์„ ๋ฌธ์ž์—ด์ด๋ผ ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด์–ด ๋ถ™์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. AB ํ˜•ํƒœBA ํ˜•ํƒœ์ด ๋‘ ํ˜•ํƒœ ์ค‘ ๋ฌด์—‡์ด ํฐ์ง€๋ฅผ ๋Œ€์†Œ ๊ด€๊ณ„ ๋น„๊ตํ•˜๋ฉด ๋œ๋‹ค.AB > BA , A๊ฐ€ ์•ž์— ..
2025.01.01
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
๊ธฐ์ˆ˜ ์ •๋ ฌ(radix sort), ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ๊ธฐ์ˆ˜ ์ •๋ ฌ์ด๋ž€?์ˆ˜๋“ค์˜ ์ž๋ฆฟ๊ฐ’์„ ํ™œ์šฉํ•ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๋Š” ์ •๋ ฌ๋ฐฉ๋ฒ•(์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ์ •๋ ฌ๋“ค์€ ์ˆ˜ ๋“ค๊ฐ„์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜๋Š” ๋น„๊ต ์ •๋ ฌ์ด์—ˆ์ง€๋งŒ, ๊ธฐ์ˆ˜ ์ •๋ ฌ์€ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜์ง€ ์•Š์Œ.)์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(kn)์ด๋‹ค. ์—ฌ๊ธฐ์„œ K๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ ์ค‘ ๊ฐ€์žฅ ํฐ ์ž๋ฆฟ๊ฐ’์„ ๋งํ•œ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋Š” ์ตœ๋Œ€๊ฐ’์ด 10์–ต์„ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์งˆ์ ์œผ๋กœ O(N)์˜ ์‹œ๊ฐ„์•ˆ์— ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค.ํ•˜์ง€๋งŒ ๊ฐ•์ฒ ์˜ ์—ฐ๊ธˆ์ˆ ์‚ฌ์ฒ˜๋Ÿผ ๋“ฑ๊ฐ€๊ตํ™˜์˜ ์›์น™์ด๋‹ค. ํ•ด๋‹น ์ •๋ ฌ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์›๋ž˜๋Š” Queue๊ฐ€ 10๊ฐœ๊ฐ€ ํ•„์š”ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์žก์•„๋จน๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ˆ„์ ํ•ฉ ๋ฐฐ์—ด์„ ์ด์šฉํ•œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค.2. ์›๋ฆฌ0. ์„ธํŒ…ํ˜„์žฌ ํ™•์ธ ์ค‘์ธ ์ž๋ฆฟ๊ฐ’์„ ๊ฐ€์ง„ ์ˆซ์ž๊ฐ€ ..
2024.12.31
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
Quick ์ •๋ ฌ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. Quick ์ •๋ ฌ์€ ๋ฌด์—‡์ธ๊ฐ€?Pivot(์ค‘์ถ”)๊ฐ€ ๋˜๋Š” ๊ฐ’์„ ํ•˜๋‚˜ ์„ ์ •ํ•ด์„œ ๊ทธ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์€ ์™ผ์ชฝ์œผ๋กœ, ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ชจ์€๋‹ค. ์ด์ œ ๋‚˜๋ˆ ์ง„ ๋‘ ๊ทธ๋ฃน ๋‚ด์—์„œ ๋‹ค์‹œ Pivot์„ ์„ ์ •ํ•˜๊ณ  ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๊ฐ’์„ ๋” ์ด์ƒ ์ชผ๊ฐค ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ชจ๋“  ๊ฐ’์ด ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค.2. ์›๋ฆฌ๋ณ‘ํ•ฉ์ •๋ ฌ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ„ํ•  ์ •๋ณต์„ ํ™œ์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ์ด๋‹ค. ๋ณ‘ํ•ฉ ์ •๋ ฌ์—์„œ๋Š” ์„  ๋ถ„ํ•  ํ›„ ์ •๋ณต ์ด์—ˆ๋‹ค๋ฉด, quick ์ •๋ ฌ์€ ์„  ์ •๋ณต, ํ›„ ๋ถ„ํ•  ํ˜•์‹์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.์ •๋ณต์—๋Š” ๋งˆ์ฃผ๋ณด๋Š” ํˆฌ ํฌ์ธํ„ฐ๊ฐ€ ํ™œ์šฉ๋œ๋‹ค. ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š”์ง€๋Š” ๋ฐ‘์˜ ์˜ˆ์‹œ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค. (1) Pivot ์ •ํ•˜๊ธฐ (์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ๋•Œ์— ๋งž๊ฒŒ ์ž์œ )(2) Pivot๋ณด๋‹ค ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ชฐ๊ธฐ, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ’์€ ์™ผ์ชฝ์œผ๋กœ ๋ชฐ๊ธฐ (์ •๋ณต by ํˆฌ ํฌ..
2024.12.31
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[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
thumbnail
๋ณ‘ํ•ฉ ์ •๋ ฌ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!
1. ๋ณ‘ํ•ฉ ์ •๋ ฌ์€ ๋ฌด์—‡์ธ๊ฐ€?๋ณ‘ํ•ฉ ์ •๋ ฌ์€ (1) ์„ธ์„ธํ•˜๊ฒŒ ๋‚˜๋ˆˆ๋‹ค. โžœ (2) ํ•˜๋‚˜์”ฉ ์ •๋ณตํ•œ๋‹ค ์˜ ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.2. ์›๋ฆฌ๋‹ค์Œ 3๊ฐ€์ง€ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ผ์„œ ์ง„ํ–‰๋œ๋‹ค.(1) *๋” ์ด์ƒ ์ชผ๊ฐค ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌ์‹œํ‚จ๋‹ค.* ( ๋ถ„ํ•  by ์žฌ๊ท€)(2) ์ธ์ ‘ํ•œ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃน๋ผ๋ฆฌ ๋Œ€์†Œ๊ด€๊ณ„ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์ •๋ ฌ์‹œํ‚จ๋‹ค. (์ •๋ณต by ํˆฌ ํฌ์ธํ„ฐ)(3) ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ , ๋ฐ์ดํ„ฐ ์ „์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์ด ๋  ๋•Œ๊นŒ์ง€ (2)๋ฒˆ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.3. ์˜ˆ์‹œ๋น„ ์ •๋ ฌ๋œ ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์˜ ๋ฐฉ์‹์„ ์ฐจ๋ก€๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ •๋ ฌ์‹œ์ผœ๋ณด๊ฒ ๋‹ค.7, 2, 4, 3, 1, 5, 6์˜ ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์‹œํ‚จ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.(1) ๋ถ„ํ•  by ์žฌ๊ท€์žฌ๊ท€๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋“ค์„ ๋” ์ด์ƒ ์ชผ๊ฐค ..
2024.12.30
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[๋ฐฑ์ค€] 1517 ๋ฒ„๋ธ” ์†ŒํŠธ java ํ’€์ด (๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ)
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ1์ฐจ์› ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๊ณ , ํ•ด๋‹น ๋ฐฐ์—ด์„ ๋ฒ„๋ธ” ์ •๋ ฌ๋กœ ์ •๋ ฌํ•œ๋‹ค๊ณ  ํ–ˆ์„๋•Œ, ์ „์ฒด ๊ณผ์ • ์ค‘์—์„œ swap์€ ๋ช‡ ๋ฒˆ ์ผ์–ด๋‚ฌ๋Š”์ง€ ๊ตฌํ•˜๋ผ.2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKey Word: Merge_sort, Two Pointer๋ถ„ํ•  ์ •๋ณต, ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์ž…๋ ฅ์— ๋Œ€ํ•ด ๋ณ‘ํ•ฉ ์ •๋ ฌ์„ ์‹คํ–‰ํ•œ๋‹ค.๋งค ์žฌ๊ท€ ์ˆœ๊ฐ„๋งˆ๋‹ค ์ •๋ ฌ์ด ๋ ํ…๋ฐ, ์ด๋•Œ ์ž๋ฆฌ ๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚œ ํšŸ์ˆ˜๋ฅผ ์„ผ๋‹ค.์œ„์˜ ๊ณผ์ •์—์„œ ๊ตฌํ•œ ์ž๋ฆฌ ๋ฐ”๊ฟˆ ํšŸ์ˆ˜๋ฅผ ๋ˆ„์ ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.์ „์ฒด ๊ณผ์ •์„ ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.(1) ์ง€๊ธˆ๋ถ€ํ„ฐ ๋ณ‘ํ•ฉ ์ •๋ ฌ์ด ๋ฌด์—‡์ธ์ง€,(2) ๋ฒ„๋ธ” ์ •๋ ฌ๋กœ ์ •๋ ฌํ•˜๋ผ ํ–ˆ๋Š”๋ฐ ์™œ ๋ณ‘ํ•ฉ ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ๊ฒƒ์ด ํ†ตํ•˜๋Š”์ง€,(3) ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š”์ง€์„ธ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.(1) ๋ณ‘ํ•ฉ ์ •๋ ฌ์ด ๋ฌด์—‡์ธ์ง€๋ณ‘ํ•ฉ์ •๋ ฌ์€ ๋ถ„ํ•  ์ •๋ณต๊ณผ ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ๊ฐ’๋“ค์„ ์ •๋ ฌํ•˜๋Š”..
2024.12.28
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
๋ฒ„๋ธ” ์ •๋ ฌ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ์›๋ฆฌ์‚ฌ์ „ ์„ธํŒ…: ์ •๋ ฌ๋˜์ง€ ์•Š์€ 1์ฐจ์› ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ๊ณ , ํ•ด๋‹น ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•จ์„ ์ „์ œ๋กœ ํ•œ๋‹ค.๋ฐฐ์—ด์˜ ์ฒซ ์›์†Œ๋ฅผ ์กฐํšŒํ•œ๋‹ค.๋‹ค์Œ ์›์†Œ์™€ ๋Œ€์†Œ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜๊ณ , ๊ทธ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ํ•œ๋‹ค.์กฐํšŒ์ค‘์ธ ์›์†Œ > ๋‹ค์Œ ์›์†Œ: ๋‘˜์˜ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พผ๋‹ค.์กฐํšŒ ์ค‘์ธ ์›์†Œ ๋‹ค์Œ ์›์†Œ: ์•„๋ฌด ์กฐ์น˜ ์—†์ด ์ง€๋‚˜๊ฐ„๋‹ค.2๋ฒˆ ๊ณผ์ •์„ ๋ฐฐ์—ด ๋๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ด๋Ÿฌ๋ฉด ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์˜์—ญ ์ตœ์šฐ๋‹จ์— ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๊ฐ’ ์ค‘ ์ตœ๋Œ€๊ฐ’์ด ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.(์ฆ‰ 3๋ฒˆ ๊ณผ์ • 1๋ฒˆ ๋‹น ํ•˜๋‚˜์˜ ์›์†Œ๊ฐ€ ์ •๋ ฌ๋œ๋‹ค.)3๋ฒˆ ๊ณผ์ •์„ ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์›์†Œ๊ฐ€ ์ •๋ ฌ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.2. ์˜ˆ์‹œ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,5๊ฐ€ 1๋ณด๋‹ค ํผ์œผ๋กœ ๋‘˜์˜ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พผ๋‹ค.5๊ฐ€ 3๋ณด๋‹ค ํผ์œผ๋กœ ๋‘˜์ด ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พผ๋‹ค.5๋Š” 7๋ณด๋‹ค ์ž‘์Œ์œผ๋กœ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.7์ด 2๋ณด๋‹ค ํผ์œผ๋กœ ์ž๋ฆฌ๋ฅผ..
2024.12.26
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 2905 ํ™์ค€์ด์™€ ์šธํƒ€๋ฆฌ ๋ฌธ์ œ ํ’€์ด java (๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์„ค๋ช… ^^)
1
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฌธ์ œ ์„ค๋ช…์ด ์–ด๋ ค์›Œ์„œ ๋ถ€์—ฐ ์„ค๋ช…์„ ํ•˜๊ฒ ๋‹ค.N๊ฐœ์˜ ์šธํƒ€๋ฆฌ์™€ ๋„ˆ๋น„๊ฐ€ X์ธ ๋ฃฐ๋Ÿฌ๊ฐ€ ์žˆ๋‹ค. ์šธํƒ€๋ฆฌ์˜ ๊ฒฝ์šฐ ๋„ˆ๋น„๋Š” 1๋กœ ๊ณ ์ •์ด๊ณ , ๋†’์ด๋งŒ 1์ฐจ์› ๋ฐฐ์—ด ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‹น์‹ ์€ ๋ฃฐ๋Ÿฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŽ˜์ธํŠธ๋ฅผ ์น ํ•  ๊ฒƒ์ธ๋ฐ, ๋„ˆ๋น„๊ฐ€ X์ž„์œผ๋กœ, X ๋„ˆ๋น„ ๋‚ด์˜ ์šธํƒ€๋ฆฌ๋Š” ํ•œ ๋ฒˆ์— ์น ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (1) ๋ฃฐ๋Ÿฌ์˜ ๋ถ€๋ถ„์ด ํ—ˆ๊ณต์— ๋‹ฟ์œผ๋ฉด ์•ˆ๋œ๋‹ค.์™ผ์ชฝ๊ณผ ๊ฐ™์ด ์ผ๋ จ์˜ ์šธํƒ€๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๋ฉด, ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์˜ ํ…Œ๋‘๋ฆฌ ์•ˆ ์ชฝ๋งŒ ๋กค๋Ÿฌ๋ฅผ ๋Œ๋ ค ์น ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค. ์ฆ‰ ๋กค๋Ÿฌ ๋„ˆ๋น„ X ๋‚ด์— ์ œ์ผ ์ž‘์€ ์šธํƒ€๋ฆฌ๊ฐ€ ์ƒ‰์น ์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค. (2) ์น ํ•œ๋ฐ๋Š” ๋˜ ์น ํ•  ์ˆ˜ ์žˆ๋‹ค.๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋กค๋Ÿฌ์˜ ๋„ˆ๋น„๊ฐ€ 3์ผ ๋•Œ, ์ฒ˜์Œ ๋งž๋”ฑ๋œจ๋ฆฌ๋Š” ๊ตฌ๊ฐ„์—์„œ๋Š” ์ตœ๋Œ€๋กœ ์น ํ•  ์ˆ˜ ์žˆ๋Š” ๋†’์ด๊ฐ€ 1์ผ ๊ฒƒ์ด๋‹ค.๋กค๋Ÿฌ๋ฅผ ํ•œ ์นธ ..
2024.12.25
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] ๋‘ ์šฉ์•ก 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
ํˆฌ ํฌ์ธํ„ฐ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
0. ๊ธ€์ด ํ˜๋Ÿฌ๊ฐ€๋Š” ๋ฐฉํ–ฅ๋จผ์ € ๊ฐœ๋… ์„ค๋ช…์„ ํ•˜๊ณ , ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ œ 2๊ฐœ๋ฅผ ์ง์ ‘ ํ’€์–ด๋ณด๋ฉฐ, ๊ฐœ๋…์— ๋Œ€ํ•œ ๋ณด์ถฉ์„ ํ•˜๊ฒ ๋‹ค.1. ๊ฐœ๋…1์ฐจ์› ๋ฐฐ์—ด์— ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ๋‘๊ณ , ๋‘ ํฌ์ธํ„ฐ์— ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ธฐ์ˆ ๋ฐฐ์—ด ์•ˆ์—์„œ ํŠน์ • ์กฐ๊ฑด์˜ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ, ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O((N^{2}))๊ฐ€ ๋“ ๋‹ค๋ฉด, ํˆฌ ํฌ์ธํ„ฐ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜๋ฉด ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ O(N)์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. (์ด์œ ๋Š” ํ™œ์šฉ์„ ์‚ดํŽด๋ณด๋ฉฐ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.)(1) ์œ ํ˜•ํˆฌ ํฌ์ธํ„ฐ๋ฅผ ์šด์šฉํ•˜๋Š” ์œ ํ˜•์—๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.a.๋‹จ๋ฐฉํ–ฅ ์šด์šฉL ํฌ์ธํ„ฐ์™€ R ํฌ์ธํ„ฐ๊ฐ€ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์›€์ง์ด๋Š” ๊ฒƒ์ด๋‹ค. ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ์˜ ์–‘๋์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ์™€ ๋‹ค๋ฅธ ์ ์€ ํฌ์ธํ„ฐ์— ๋”ฐ๋ผ ๊ตฌ๊ฐ„์˜ ๊ธธ์ด๊ฐ€ ๊ฐ€๋ณ€์ ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.b. ์–‘๋ฐฉํ–ฅ ์šด..
2024.12.23
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก