user-img
์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ 22
thumbnail
์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ๋ž€, DECK์„ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋กœ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ตฌ๊ฐ„ ๋‚ด์˜ ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’์„ O(1)์— ์ฐพ๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆํ•œ ๊ตฌํ˜„์ฒด์ด๋‹ค. ๋‹จ์กฐ๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ์ด์œ ๋Š”, ๊ตฌ๊ฐ„ ๋‚ด ์ตœ์†Œ๊ฐ’์„ ์ฐพ๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ, Deck ๋‚ด๋ถ€ ์›์†Œ๋“ค์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์œ ์ง€๋˜๊ณ , ๊ตฌ๊ฐ„ ๋‚ด ์ตœ๋Œ€๊ฐ’์ด ์ฐพ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์œ ์ง€๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์‚ฌ์‹ค ๋‚ด๊ฐ€ ๋งŒ๋“  ์ด๋ฆ„์ด๋‹ค...๐Ÿ˜‚์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์‹ฌํ™” ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ Deck์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ˜•ํƒœ๊ฐ€ ๊พธ์ค€ํžˆ ๋‚˜์˜ค๋Š”๋ฐ, ์ธํ„ฐ๋„ท ์—ฌ๊ธฐ ์ €๊ธฐ ์ฐพ์•„๋ด๋„, ํ˜•ํƒœ๋งŒ ์žˆ์„ ๋ฟ ์ด๊ฒƒ์˜ ์ œ๋Œ€๋กœ ๋œ ์ด๋ฆ„์ด ์—†์—ˆ๋‹ค.๋”ฐ๋ผ์„œ ์ •์‹ ๋ช…์นญ์€ ์•„๋‹ˆ์ง€๋งŒ! ์„ค๋ช…์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์•ž์œผ๋กœ ํ˜„ ๊ตฌ๊ฐ„ ๋‚ด์˜ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด Deck์œผ๋กœ ๊ตฌํ˜„ํ•œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ..
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
[๋ฆฌํŠธ์ฝ”๋“œ] 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
[๋ฐฑ์ค€] 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
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2 ๊ฐ€์žฅ ํฐ ์ˆ˜ java ์‰ฌ์šด ํ’€์ด^^
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ๋งํฌ๋ฌธ์ œ ์„ค๋ช…์ด ์ง๊ด€์ ์ด๋ผ ์„ค๋ช… ์ƒ๋žต2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: custom Sorting์ •๋ ฌ ๋ฌธ์ œ ์˜€์ง€๋งŒ, ์ง์ ‘ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ๊ณ , ์ •๋ ฌ์˜ ๊ธฐ์ค€์„ ์ง์ ‘ ์ œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์˜€๋‹ค. ํ•„์ž๋Š” ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง์ ‘ ๊ตฌํ˜„์œผ๋กœ ๊ฐ€๋‹ฅ์„ ์ž˜๋ชป ์žก๊ณ  ๋“ค์–ด๊ฐ€์„œ ์—„์ฒญ ํ—ค๋ฉจ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์€ ๋ฐฐ์šด ๊ฒƒ๋“ค์— ๋” ์ž์„ธํžˆ ๊ธฐ์ˆ  ํ•˜๊ณ  ์—ฌ๊ธฐ์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€์— ์ดˆ์ ์„ ๋งž์ถ”๊ฒ ๋‹ค.(1) ์ •๋ ฌ ๊ธฐ์ค€Numbers ๋ฐฐ์—ด์˜ ์›์†Œ ์ค‘ ์ž„์˜์˜ ํ•˜๋‚˜๋ฅผ A, A์˜ ๋‹ค์Œ ์›์†Œ๋ฅผ B๋ผ๊ณ  ํ•˜์ž. ์ด ์ˆซ์ž๋“ค์„ ๋ฌธ์ž์—ด์ด๋ผ ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด์–ด ๋ถ™์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. AB ํ˜•ํƒœBA ํ˜•ํƒœ์ด ๋‘ ํ˜•ํƒœ ์ค‘ ๋ฌด์—‡์ด ํฐ์ง€๋ฅผ ๋Œ€์†Œ ๊ด€๊ณ„ ๋น„๊ตํ•˜๋ฉด ๋œ๋‹ค.AB > BA , A๊ฐ€ ์•ž์— ..
2025.01.01
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
Quick ์ •๋ ฌ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. Quick ์ •๋ ฌ์€ ๋ฌด์—‡์ธ๊ฐ€?Pivot(์ค‘์ถ”)๊ฐ€ ๋˜๋Š” ๊ฐ’์„ ํ•˜๋‚˜ ์„ ์ •ํ•ด์„œ ๊ทธ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’์€ ์™ผ์ชฝ์œผ๋กœ, ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ชจ์€๋‹ค. ์ด์ œ ๋‚˜๋ˆ ์ง„ ๋‘ ๊ทธ๋ฃน ๋‚ด์—์„œ ๋‹ค์‹œ Pivot์„ ์„ ์ •ํ•˜๊ณ  ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๊ฐ’์„ ๋” ์ด์ƒ ์ชผ๊ฐค ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ชจ๋“  ๊ฐ’์ด ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค.2. ์›๋ฆฌ๋ณ‘ํ•ฉ์ •๋ ฌ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ„ํ•  ์ •๋ณต์„ ํ™œ์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ์ด๋‹ค. ๋ณ‘ํ•ฉ ์ •๋ ฌ์—์„œ๋Š” ์„  ๋ถ„ํ•  ํ›„ ์ •๋ณต ์ด์—ˆ๋‹ค๋ฉด, quick ์ •๋ ฌ์€ ์„  ์ •๋ณต, ํ›„ ๋ถ„ํ•  ํ˜•์‹์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.์ •๋ณต์—๋Š” ๋งˆ์ฃผ๋ณด๋Š” ํˆฌ ํฌ์ธํ„ฐ๊ฐ€ ํ™œ์šฉ๋œ๋‹ค. ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š”์ง€๋Š” ๋ฐ‘์˜ ์˜ˆ์‹œ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค. (1) Pivot ์ •ํ•˜๊ธฐ (์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ๋•Œ์— ๋งž๊ฒŒ ์ž์œ )(2) Pivot๋ณด๋‹ค ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ชฐ๊ธฐ, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ’์€ ์™ผ์ชฝ์œผ๋กœ ๋ชฐ๊ธฐ (์ •๋ณต by ํˆฌ ํฌ..
2024.12.31
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
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
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 13์ผ์ฐจ TIL + Programmers ์ž…๊ตญ ์‹ฌ์‚ฌ๋Œ€ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: ์ด๋ถ„ ํƒ์ƒ‰๋ฌด์—‡์„ ๊ธฐ์ค€ ์œผ๋กœ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•ด์•ผํ• ๊นŒ?์ด๋ถ„ ํƒ์ƒ‰ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ์ œ์ผ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด๋‹ค. ์–ด๋ ค์šด ๋ฌธ์ œ์ผ์ˆ˜๋ก ๋ฌด์—‡์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ถ„ ํƒ์ƒ‰์„ ํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์„œ์ง€ ์•Š๋Š”๋‹ค. ๋‚˜ ๋˜ํ•œ ๊ทธ๋žฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ์•„์ด๋””์–ด๊นŒ์ง€ ๋ดค๋‹ค. ๋ถ„๋ช… 1๋…„ ์ „์— ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ฐฑ์ค€์œผ๋กœ ํ’€์—ˆ๋Š”๋ฐ, ์•ˆ ๋– ์˜ฌ๋ผ์„œ ์ข€ ์ขŒ์ ˆ ํ–ˆ๋‹ค ใ…œ(1) ๊ธฐ์ค€ : M ์‹œ๊ฐ„ ๋‹น ๊ฐ ์‹ฌ์‚ฌ๋Œ€์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋‚ด ๊ธฐ์ค€์—์„œ ์–ด๋ ค์› ๋˜ ์ ์€ ๊ทœ์น™ - ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ๋น„๋”๋ผ๋„, ์‚ฌ๋žŒ์€ ๋‹ค๋ฅธ ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์˜€๋‹ค. ์ด ์ž์œจ์„ฑ ๋•Œ๋ฌธ์—, ๋ฌธ์ œ์˜ ์œ ํ˜•์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์–ตํ•ด์•ผํ•  ์ ์€, ๋ฌด์—‡์„ ์ด๋ถ„ ํƒ์ƒ‰ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์„ ๋•Œ๋Š”, ๋ฐ˜ํ™˜ํ•˜๋Š” ๋‹ต์„ ๊ธฐ์ค€์œผ๋กœ ํƒ์ƒ‰ํ•  ๊ฒƒ์ด..
2024.08.03
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด