user-img
๊ฐœ๋ฐœ์ž ์ทจ์—… 72
thumbnail
[๋ฐฑ์ค€] 1747 ์†Œ์ˆ˜ & ํŽ ๋ฆฐ๋“œ๋กฌ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด, ๋ฌธ์ž์—ด1๏ธโƒฃ N์˜ ์ตœ๋Œ€๊ฐ’์˜ 2๋ฐฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•˜์—ฌ ์†Œ์ˆ˜ ์ „๋ถ€ ์ฐพ์•„๋†“๊ธฐ (N์˜ ์ตœ๋Œ€๊ฐ’: 1,000,000์ด๋ผ ๊ฐ€๋Šฅ)2๏ธโƒฃ ์ž…๋ ฅ ๋ฐ›๊ธฐ3๏ธโƒฃ ์ž…๋ ฅ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ’ ์ค‘ ํŽ ๋ฆฐ๋“œ๋กฌ (๋’ค์ง‘์–ด๋„ ๊ฐ™์€ ์ˆ˜)์ธ์ง€ ํ™•์ธํ•˜๊ธฐ.(1) ์‹œ๊ฐ„๋ณต์žก๋„ ๋ถ„์„ ๐Ÿ•“์ž„์˜์˜ ์ˆ˜: $N$ (์ตœ๋Œ€๊ฐ’: 1,000,000) ์—๋ผํ† ์Šคํ…Œ๋„ค์˜ ์ฒด ๋งŒ๋“ค๊ธฐ: $O(2N \log (\log 2N))$ํŽ ๋ฆฐ๋“œ๋กฌ ์ˆ˜ ์ฐพ๊ธฐ: input์—์„œ ์ œ์ผ ๊ฐ€๊นŒ์šด ์†Œ์ˆ˜ ์ด์ž ํŽ ๋ฆฐ๋“œ๋กฌ ์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ์‹œ๊ฐ„ ๋ณต์žก๋„ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•˜์ง€ ์•Š์•„๋„ ๋  ๋งŒํผ ์ž‘์€ ๋ฐ˜๋ณต์•ˆ์— ์ฐพ์Œ.3. ์ฝ”๋“œ ์†Œ๊ฐœ ๐Ÿ”Ž(1) SUDO CODE0๏ธโƒฃ 1์—์„œ 2,000,000๊นŒ์ง€์˜ ์˜์—ญ์—์„œ ์†Œ์ˆ˜ ์ „๋ถ€ ์ฐพ์•„๋†“๊ธฐ1๏ธโƒฃ ..
2025.01.21
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 1114 ํ†ต๋‚˜๋ฌด ์ž๋ฅด๊ธฐ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ์ผ๋ฐ˜์ ์ธ ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ์ƒ‰์ด๋‚˜ ์ด๋ถ„ ํƒ์ƒ‰ ๋ฌธ์ œ๋ณด๋‹ค ๊นŒ๋‹ค๋กœ์› ๋˜ ์ ์€,1๏ธโƒฃ ํ†ต๋‚˜๋ฌด์˜ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋‹ค.2๏ธโƒฃ ํ†ต๋‚˜๋ฌด์˜ ๊ฐ€์žฅ ๊ธด ์กฐ๊ฐ์„ ์ž‘๊ฒŒ ๋งŒ๋“ค์—ˆ์„ ๋•Œ, ์ œ์ผ ์ฒ˜์Œ ์ž๋ฅธ ์œ„์น˜๋„ ๊ฐ™์ด ์ถœ๋ ฅ ํ•ด๋ผ.์˜€๋‹ค. ์ด๊ฑธ ์œ ๋…ํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค.2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: Parametric Search, Binary Search, Greedy Algorithm0๏ธโƒฃ ํ†ต๋‚˜๋ฌด๋ฅผ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋ฅผ ๋ฐ›์•„์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.1๏ธโƒฃ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ํ†ต๋‚˜๋ฌด์˜ ๊ฐ€์žฅ ๊ธด ์กฐ๊ฐ์˜ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.1๏ธโƒฃ-1) f(w) = ๋ชจ๋“  ์กฐ๊ฐ๋‚œ ํ†ต๋‚˜๋ฌด์˜ ๊ธธ์ด๊ฐ€ w ์ดํ•˜์ธ๊ฐ€? ๋ผ๋Š” ๊ฒฐ์ •๋ฌธ์ œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด๋ฅผ ๋งŒ์กฑํ•˜๋Š” f(w) ์ค‘ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” f(w)์˜..
2025.01.21
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 1456 ๊ฑฐ์˜ ์†Œ์ˆ˜ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์˜์—ญ์˜ ์ตœ์†Œ๊ฐ’ A, ์ตœ๋Œ€๊ฐ’ B, ์ž„์˜์˜ ์†Œ์ˆ˜ K์— ๋Œ€ํ•˜์—ฌ, $A 0๏ธโƒฃ $A ๊ฐ€๋Šฅํ•œ K๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด, n์„ 2๋ผ๊ณ  ์น˜๊ณ , ์–‘๋ณ€์„ ๋ชจ๋‘ 2์˜ ์ œ๊ณฑ๊ทผ์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. $√A 1๏ธโƒฃ 1 ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด), √√B๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋  ๊ฒƒ์ด๋‹ค.2๏ธโƒฃ ๊ตฌํ•ด์ง„ ์†Œ์ˆ˜๋“ค์„ ๊ณ„์† ์ œ๊ณฑํ•˜๋ฉฐ, B๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค. ์ด๋•Œ ์šฐ๋ฆฌ๋Š” Long์ด ์•„๋‹Œ Double ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•œ๋‹ค. double ์ž๋ฃŒํ˜•์€ ์ง€์ˆ˜ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ฐ€๋„๋Š” ์กฐ๊ธˆ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜, Long๋ณด๋‹ค ํฐ ๊ฐ’๋„ overflow ์—†์ด ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฒˆ ๋ฌธ์ œ๊ฐ€ ์ •ํ™•ํ•œ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋Œ€์†Œ ๋น„๊ต์ž„์œผ๋กœ ์ถฉ๋ถ„ํžˆ ..
2025.01.20
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 1939 ์šฉ๋Ÿ‰์ œํ•œ java, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๊ฐ€์ค‘์น˜ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ถœ๋ฐœ์ง€์—์„œ ๋„์ฐฉ์ง€ ๊นŒ์ง€ ํ•œ๋ฒˆ์˜ ์ด๋™์œผ๋กœ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฌผ๊ฑด์˜ ์ตœ๋Œ€ ์ค‘๋Ÿ‰์„ ๊ตฌํ•˜์—ฌ๋ผ.2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: Parametric Search, Binary_Search,DFS(1) ๊ฐ€์ค‘์น˜ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค.(2) ์ด๋ถ„ํƒ์ƒ‰์„ ํ™œ์šฉํ•ด, ํ•œ๋ฒˆ์— ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ฌผ๊ฑด์˜ ์ตœ๋Œ€ ์ค‘๋Ÿ‰์„ ๊ตฌํ•œ๋‹ค. (์ด๋ถ„ ํƒ์ƒ‰์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ ๋œ๋‹ค.)a. ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ตœ๋Œ€ ์ค‘๋Ÿ‰๊ณผ ์ตœ์†Œ ์ค‘๋Ÿ‰์„ ํ™œ์šฉํ•ด ์ค‘์•™๊ฐ’์„ ๊ตฌํ•œ๋‹ค.b. ํ•ด๋‹น ์ค‘์•™๊ฐ’์„ ํ•œ ๋ฒˆ์— ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ค‘๋Ÿ‰์ด๋ผ ์ณค์„ ๋•Œ, ๋„์ฐฉ์ง€๊นŒ์ง€ ์˜ฎ๊ธฐ๋Š” ๊ฒŒ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•œ๋‹ค.c-1. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ตœ์†Œ ์ค‘๋Ÿ‰์„ ํ˜„ ์ค‘์•™๊ฐ’ + 1 ์˜ฌ๋ ค์„œ, ๋‹ค์Œ์— ๊ตฌํ•  ์ค‘์•™๊ฐ’์„ ์ƒํ–ฅ ์กฐ์ • ํ•œ๋‹ค.c-2 .๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค..
2025.01.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 2957 ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ java, ์ดํ•ดํ•˜๊ธฐ
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ์„ค๋ช…2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: BLACK-RED TREE, BST(Binary_Search_Tree)(0) BLACK-RED TREE ๋กœ ๊ตฌํ˜„๋œ TreeSet์„ ํ™œ์šฉํ•œ๋‹ค.์ผ๋ฐ˜ BST์ผ ๋•Œ์˜ Depth๋ฅผ ์ €์žฅํ•˜๋Š” int [] depth ๋ฐฐ์—ด๋„ ๋งŒ๋“ ๋‹ค.(1) TreeSet์— 0๊ณผ N-1์„ ๋„ฃ๋Š”๋‹ค. (Null Pointer Exception ๋ฐฉ์ง€)depth[0]๊ณผ depth[N-1] ์˜ ๊ฐ’์€ -1์„ ๋„ฃ๋Š”๋‹ค. (๊ณ„์‚ฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ์œ„ํ•จ)(2) TreeSet์— root ๋…ธ๋“œ๋ถ€ํ„ฐ ๋๋…ธ๋“œ๊นŒ์ง€ ์ฐจ๋ก€๋กœ ์กฐํšŒํ•œ๋‹ค.์กฐํšŒํ–ˆ์„ ๋‹น์‹œ์˜ ํ•ด๋‹น ๋…ธ๋“œ๋ณด๋‹ค ์ž‘์œผ๋ฉด์„œ ์ตœ๋Œ€๊ฐ’๊ณผ ํฌ๋ฉด์„œ ์ตœ์†Œ๊ฐ’์ธ ๋…ธ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ตฌํ•œ๋‹ค.(3) depth[ํ˜„์žฌ ๋…ธ๋“œ] = (2)์—์„œ ๊ตฌํ•œ ๋‘˜ ์ค‘ depth ๊ฐ’์ด ๋” ํฐ ..
2025.01.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 2512 ์˜ˆ์‚ฐ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ์„ค๋ช…2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD : Binary Search, Parametric Search(1) ๋ชจ๋“  ์ง€๋ฐฉ ์˜ˆ์‚ฐ์˜ ํ•ฉ ์ด ์˜ˆ์‚ฐ, ๊ทธ๋Œ€๋กœ ์˜ˆ์‚ฐ ์ฑ…์ • ํ•˜๊ณ , ์ œ์ผ ์ปธ๋˜ ์ง€๋ฐฉ ์˜ˆ์‚ฐ์„ ์ถœ๋ ฅ(2) ๋ชจ๋“  ์ง€๋ฐฉ ์˜ˆ์‚ฐ์˜ ํ•ฉ > ์ด ์˜ˆ์‚ฐ: ์˜ˆ์‚ฐ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’ ์‚ฌ์ด์—์„œ ์ด๋ถ„ ํƒ์ƒ‰์„ ํ†ตํ•ด, ๋ชจ๋“  ์˜ˆ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์ตœ๋Œ€์ธ ๊ฐ’์„ ์ฐพ์•„์„œ ์ถœ๋ ฅ (1) Parametric Search ์“ฐ์ธ ๊ณณ๋ชจ๋“  ์˜ˆ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ โžœf(d) = ์˜ˆ์‚ฐ ์ƒํ•œ์•ก์ด d์ผ ๋•Œ, ์ด๊ฑธ๋กœ ์ด ์˜ˆ์‚ฐ M ๋‚ด์—์„œ ์ „๋ถ€ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ๊ฐ€? ์—ฌ๋Ÿฌ ๊ฐœ์œ„์™€ ๊ฐ™์ด ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ๊ฒฐ์ • ๋ฌธ์ œ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋ฐ”๊พธ์–ด ํ‘ผ๋‹ค.f(d) = true๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฐ’ ์ค‘ ์ตœ๋Œ€ํ•œ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฐ’์„ ๊ตฌํ•˜๋ฉด ๋‹ต์ด๋‹ค. (์ฆ‰ f(d) = true๊ฐ€..
2025.01.10
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 17976 Thread Knots
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฌธ์ œx ์ค‘์‹ฌ์„  ์œ„์— n๊ฐœ์˜ Thread๊ฐ€ ์กด์žฌํ•œ๋‹ค. $T_{i}$๋ผ ๋ถˆ๋ฆฌ๋Š” i๋ฒˆ์งธ Thread์˜ ๊ธธ์ด๋Š” $l_{i}$์™€ ํ•ด๋‹น Thread์˜ ์‹œ์ž‘ ์ง€์  ์œ„์น˜์ธ $x_{i}$๋กœ ๋‚˜ํƒ€๋‚ด์–ด ์ง„๋‹ค. ๋‘ ๋ณ€์ˆ˜ ๋ชจ๋‘ Integer ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ๊ฐ์˜ Thread ๋งˆ๋‹ค ๋งค๋“ญ์„ ์ง“๊ณ  ์‹ถ์–ด ํ•œ๋‹ค. ๋งค๋“ญ์˜ ์œ„์น˜ ๋˜ํ•œ ๋ฐ˜๋“œ์‹œ Integer์—ฌ์•ผ ํ•œ๋‹ค. ๋งค๋“ญ์€ Thread ์•ˆ์˜ ์–ด๋Š ์ง€์ ์—์„œ๋“  ์ƒ๊ด€ ์—†์ด ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๊ณ , Thread์˜ ๊ธธ์ด๊ฐ€ ๋งค๋“ญ์— ์˜ํ•ด ์ค„์–ด๋“ค์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๋‹น์‹ ์€ ๋˜ํ•œ ์–ด๋– ํ•œ Thread๋„ ๋˜ ๋‹ค๋ฅธ Thread์— ์˜ํ•ด ์™„์ „ํžˆ ํฌํ•จ๋˜์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์–ด๋–ค ์˜๋ฏธ๋ƒ๋ฉด, $x_j$ ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ๊ฐ€๊น๊ฒŒ ์ธ์ ‘ํ•œ ๋‘ ๋งค๋“ญ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ํฌ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ๊ฐ Th..
2025.01.10
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?์Šฌ๋ผ์ด๋”ฉ ๋‹จ์กฐ ํ๋ž€, DECK์„ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋กœ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ตฌ๊ฐ„ ๋‚ด์˜ ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’์„ O(1)์— ์ฐพ๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆํ•œ ๊ตฌํ˜„์ฒด์ด๋‹ค. ๋‹จ์กฐ๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ์ด์œ ๋Š”, ๊ตฌ๊ฐ„ ๋‚ด ์ตœ์†Œ๊ฐ’์„ ์ฐพ๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ, Deck ๋‚ด๋ถ€ ์›์†Œ๋“ค์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์œ ์ง€๋˜๊ณ , ๊ตฌ๊ฐ„ ๋‚ด ์ตœ๋Œ€๊ฐ’์ด ์ฐพ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์œ ์ง€๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์‚ฌ์‹ค ๋‚ด๊ฐ€ ๋งŒ๋“  ์ด๋ฆ„์ด๋‹ค...๐Ÿ˜‚์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์‹ฌํ™” ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ Deck์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ˜•ํƒœ๊ฐ€ ๊พธ์ค€ํžˆ ๋‚˜์˜ค๋Š”๋ฐ, ์ธํ„ฐ๋„ท ์—ฌ๊ธฐ ์ €๊ธฐ ์ฐพ์•„๋ด๋„, ํ˜•ํƒœ๋งŒ ์žˆ์„ ๋ฟ ์ด๊ฒƒ์˜ ์ œ๋Œ€๋กœ ๋œ ์ด๋ฆ„์ด ์—†์—ˆ๋‹ค.๋”ฐ๋ผ์„œ ์ •์‹ ๋ช…์นญ์€ ์•„๋‹ˆ์ง€๋งŒ! ์„ค๋ช…์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์•ž์œผ๋กœ ํ˜„ ๊ตฌ๊ฐ„ ๋‚ด์˜ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด Deck์œผ๋กœ ๊ตฌํ˜„ํ•œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ..
2025.01.07
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๊ธฐ๋ณธ(DFS&BFS), ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
0. ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์˜ ๊ธฐ๋ณธ์ธ DFS์™€ BFS๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์ด๋ž€, ์ •์ ๊ณผ ๊ฐ„์„ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทธ๋ž˜ํ”„์—์„œ ํŠน์ • ์ •์ ์„ ์„ ํƒํ•˜๊ณ , ํ•ด๋‹น ์ •์ ์—์„œ ์ธ์ ‘ํ•œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ •์  ๋ฐฉ๋ฌธ ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์ด ์•ž์œผ๋กœ ์‚ดํŽด๋ณผ DFS์™€ BFS์ด๋‹ค.์šฐ๋ฆฌ๋Š” ์œ„์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์˜ˆ์‹œ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ํ•˜๋‚˜์”ฉ ์ดํ•ดํ•ด ๋ณด๊ฒ ๋‹ค.1. DFSDFS๋Š” Depth First Search์˜ ์•ฝ์ž๋กœ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์„ ๋œปํ•œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•˜๊ธฐ๋กœ ์ •ํ•œ ์ธ์ ‘ ์ •์ ์˜ ์ตœ๋Œ€ ๊นŠ์ด๊นŒ์ง€ ํƒ์ƒ‰์„ ๋งˆ์นœ ํ›„, ๋‹ค์Œ ์ธ์ ‘ ์ •์ ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋…ผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.(1) ํ˜„์žฌ ์ •์ ๊ณผ ์ธ์ ‘ํ•œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•œ๋‹ค.(2) ๋ฐฉ๋ฌธํ•œ ์ •์ ์—์„œ ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ •์ ์ด ์žˆ๋‹ค๋ฉด ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ •์ ์„ ๋ชจ๋‘ ๋ฐฉ๋ฌธํ•  ๋•Œ๊นŒ์ง€ (..
2025.01.07
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
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
[๋ฐฑ์ค€] 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
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 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
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก