user-img
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด 219
thumbnail
ํ•ญํ•ด 99 ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 5๊ธฐ 3์ผ์ฐจ + [๋ฐฑ์ค€] ๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฌธ์ œ๋ฅผ ๋ณด๋ฉฐ, ์ฐพ์•„๋‚ธ ์กฐ๊ฑด์€ ๋‹ค์Œ 3๊ฐ€์ง€ ์˜€๋‹ค.1๏ธโƒฃ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ํšŒ์„ ์„ ๋ณต๊ตฌํ•˜๋ผ2๏ธโƒฃ ๋ชจ๋“  ์„œ๋กœ ๋‹ค๋ฅธ 2 ๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ๊ต์‹ ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.3๏ธโƒฃ ์Šˆํผ ์ปดํ“จํ„ฐ์—์„œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ์˜ ํ†ต์‹  ์ตœ์†Œ ๋น„์šฉ์€ ๋ณต๊ตฌ ์ด์ „๊ณผ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ ๋Š๋‚€ ์ ์€,3๏ธโƒฃ ๋•Œ๋ฌธ์— 1๏ธโƒฃ์€ ์žˆ์œผ๋‚˜ ๋งˆ๋‚˜ ํ•œ ์กฐ๊ฑด์ด ๋˜์—ˆ๋‹ค. 3๏ธโƒฃ์„ ๋งŒ์กฑ์‹œํ‚ค๋ ค๋ฉด ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ํ™œ์šฉํ•ด์„œ, ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผ ํ•˜๊ณ , ๊ทธ ์ตœ๋‹จ ๊ฒฝ๋กœ์— ์‚ฌ์šฉ๋œ ํšŒ์„ ๋ณด๋‹ค ๊ฐœ์ˆ˜๋ฅผ ๋” ์ค„์ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (์ค„์ด๋ฉด, ์–ด๋–ค ์ปดํ“จํ„ฐ์—๋Š” ์Šˆํผ์ปดํ“จํ„ฐ๊ฐ€ ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•œ๋‹ค.) 2๏ธโƒฃ ๋˜ํ•œ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ํ™œ์šฉํ•˜๋ฉด, ์ตœ์†Œ ์Šˆํผ ์ปดํ“จํ„ฐ๋ฅผ ๋งค๊ฐœ๋กœ ๋ชจ๋‘ ๊ต์‹ ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ๋”ฐ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด์ด ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ํ•˜๋ฉฐ ๊ฑฐ์ณ๊ฐ€ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค...
2025.01.17
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ์Šคํ„ฐ๋”” 5๊ธฐ 5์ผ์ฐจ + [๋ฐฑ์ค€] 17270 ์—ฐ์˜ˆ์ธ์€ ํž˜๋“ค์–ด java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ์ง€ํ—Œ๊ณผ ์„ฑํ•˜์˜ ์ƒˆ๋กœ์šด ์•ฝ์† ์žฅ์†Œ๋ฅผ ์ฐพ์•„์ฃผ๋Š” ๋ฌธ์ œ๋กœ์„œ, ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ ํ†ตํ•ด ๊ฐ์ž์˜ ์ถœ๋ฐœ์ ์—์„œ ๋ชจ๋“  ์ •์ ๊นŒ์ง€์˜ ์ตœ์†Œ ๋„๋‹ฌ ๋น„์šฉ์„ ๊ตฌํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด 4๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์•ฝ์† ์žฅ์†Œ๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.ํ•˜์ง€๋งŒ, ์ถœ์ œ์ž๊ฐ€ ์ง€๋ฌธ์„ ๋˜๊ฒŒ ๋ชจํ˜ธํ•˜๊ฒŒ ์ ์–ด์„œ, ์กฐ๊ฑด์˜ ์ง„์˜๊ฐ€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค.์•ฝ์† ์žฅ์†Œ์˜ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.1๏ธโƒฃ ๊ฐ์ž์˜ ์ถœ๋ฐœ์ ์€ ์•ฝ์† ์žฅ์†Œ๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.2๏ธโƒฃ ๋‘˜ ๋‹ค ์ตœ์†Œ ๋น„์šฉ์œผ๋กœ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ์žฅ์†Œ์—ฌ์•ผ ํ•œ๋‹ค.3๏ธโƒฃ ์ง€ํ—Œ์ด๊ฐ€ ์„ฑํ•˜๋ณด๋‹ค ๋จผ์ € ๋„์ฐฉํ•˜๋Š” ์žฅ์†Œ์—ฌ์•ผ ํ•œ๋‹ค.4๏ธโƒฃ ์œ„์˜ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋Š” ์žฅ์†Œ๊ฐ€ ๋ณต์ˆ˜๋ผ๋ฉด, ๊ทธ ์ค‘ ์ง€ํ—Œ์ด๊ฐ€ ๋นจ๋ฆฌ ๋„์ฐฉํ•˜๋Š” ์žฅ์†Œ๋ฅผ ๊ณ ๋ฅธ๋‹ค. (์ด ๋งˆ์ €๋„ ๋ณต์ˆ˜์ด๋ฉด, ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ๋น ๋ฅธ ๊ฒƒ์„ ๊ณ ๋ฅธ๋‹ค.)์ด ์กฐ๊ฑด์„ ๋ณด๋ฉด,๊ฐ์ž์˜ ์ถœ๋ฐœ์ ์ด ์•„๋‹ˆ๋ฉด์„œ, ์ง€ํ—Œ์ด๊ฐ€ ์„ฑํ•˜๋ณด๋‹ค ๋จผ์ € ๋„์ฐฉํ•˜๋ฉด์„œ..
2025.01.17
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 5๊ธฐ 4์ผ์ฐจ + [๋ฐฑ์ค€] 1253 ์ข‹๋‹ค. (2ํŠธ)
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌN๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ํƒํ•ด๋ณด์ž. (ํƒํ•œ ์ˆ˜๋ฅผ E๋ผ ๋ถ€๋ฅด๊ฒ ๋‹ค.)์ด E๋ฅผ ๋‚˜๋จธ์ง€ N-1๊ฐœ ์ค‘ 2๊ฐœ๋ฅผ ํ•ฉํ•ด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์€ ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ๋‹ค.์ด๋–„ ์ข‹์€ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ ์ธ๊ฐ€?2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: ๋งˆ์ฃผ๋ณด๋Š” ํˆฌ ํฌ์ธํ„ฐ1๏ธโƒฃ N๊ฐœ์˜ ์ˆ˜๋ฅผ arr์ด๋ž€ ๋ฐฐ์—ด์— ์ž…๋ ฅ ๋ฐ›์•„์„œ ์˜ค๋ฆ„ ์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.2๏ธโƒฃ ํฌ์ธํ„ฐ๋ฅผ 3๊ฐœ ๋‘์–ด๋ณด์ž. ๊ฐ๊ฐ์˜ ์˜๋ฏธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.E = ์ข‹์€ ์ˆ˜๊ฐ€ ๋ ์ง€ ์•ˆ๋ ์ง€ ํ™•์ธํ•˜๋Š” target์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ (0๋ถ€ํ„ฐ ์ ์  ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ„๋‹ค.)L = N๊ฐœ์˜ ์ •๋ ฌ๋œ ์ˆ˜ ์ค‘ ์ œ์ผ ์ขŒ์ธก์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ (์ ์  ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ„๋‹ค.)R = N๊ฐœ์˜ ์ •๋ ฌ๋œ ์ˆ˜ ์ค‘ ์ œ์ผ ์šฐ์ธก์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ (์ ์  ์™ผ์ชฝ์œผ๋กœ ๊ฐ„๋‹ค.) 3๏ธโƒฃL๊ณผ R์ด ์„œ๋กœ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ..
2025.01.16
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 5๊ธฐ 2์ผ์ฐจ TIL + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv4 ๊ฐ€์‚ฌ ๊ฒ€์ƒ‰
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: ํŠธ๋ผ์ด0๏ธโƒฃ ์ค‘์š”ํ•œ ์ฒ˜์Œ ์„ธํŒ…!: Tri ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ๊ตฌ์„ฑ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.(a) `๊ธฐ๋ณธ์ ์ธ ์ž์‹ ๋…ธ๋“œ`: HashMap๋กœ ๊ตฌํ˜„ (์ž์‹ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„, ๊ทธ๊ฒƒ์˜ ๊ฐ์ฒด)(b) `lenMap`: ํ˜„์žฌ ์กฐํšŒ ์ค‘์ธ ๋ฌธ์ž ๋’ค๋กœ ๋ถ€ํ„ฐ ์ „๋ถ€ ๋ฌผ์Œํ‘œ๋ผ๊ณ  ์ณค์„ ๋•Œ, ๊ทธ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ฌธ์ž๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์„ธ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ, HashMap๋กœ ๊ตฌํ˜„ (๋ฌธ์ž์—ด์˜ ๊ธธ์ด, ๋งŒ์กฑํ•˜๋Š” ๋ฌธ์ž ๊ฐœ์ˆ˜)1๏ธโƒฃ ์ž…๋ ฅ: ๋ฌธ์ž์—ด ๊ทธ๋Œ€๋กœ ๋ฐ›๋Š” Tri ํ•˜๋‚˜, ๋ฌธ์ž์—ด์„ ๋’ค์ง‘์–ด์„œ ๋ฐ›๋Š” Tri ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค์–ด ๊ฐ๊ฐ ๋”ฐ๋กœ ๋”ฐ๋กœ ์ž…๋ ฅ ๋ฐ›์Œ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ, ๋งค๋ฒˆ LenMap์˜ ๊ฐ’์„ ๊ฐฑ์‹ ํ•œ๋‹ค.2๏ธโƒฃ ์ฐพ๊ธฐ: ์™€์ผ๋“œ์นด๋“œ ?๋ฅผ ๋งŒ๋‚˜๊ธฐ ์ „๊นŒ์ง€, ํŠธ๋ผ์ด๋ฅผ ๊นŠ๊ฒŒ ๋“ค์–ด๊ฐ„๋‹ค. ๋ฐ˜ํ™˜๊ฐ’์ด ๋ ..
2025.01.15
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 5052 ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฌธ์ œ์—์„œ ์›ํ•˜๋Š” ๊ฒƒ์€ A์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์น˜๊ณ  ์žˆ๋˜ ์™€์ค‘์—, B์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์™„์„ฑ์‹œ์ผœ์„œ, B๋กœ ์ „ํ™”๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ์ผ์ด ์—†์œผ๋ฉด ์ผ๊ด€์„ฑ์ด TRUE, ์ „ํ™”๊ฐ€ ํ•œ ๋ฒˆ์ด๋ผ๋„ ๊ฑธ๋ฆฌ๋ฉด FALSE๋ผ๋Š” ๋œป์ด๋‹ค.์ฆ‰ 'ํ•˜๋‚˜์˜ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด๊ฐ€ ๋˜๋Š”์ง€?'๋ฅผ ํ™•์ธํ•˜๋ผ๋Š” ๋ฌธ์ œ์ด๋‹ค.2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: TRI๊ธฐ๋ณธ์ ์ธ ํŠธ๋ผ์ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ ๋ฌธ์ œ๋ผ ๋”ฐ๋กœ ๋ถ€์—ฐ ์„ค๋ช…ํ•  ๊ฒƒ์ด ์—†๋‹ค. ์•„์ง ํŠธ๋ผ์ด์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์—†๋‹ค๋ฉด, ๋ฏธ๋ฆฌ ํ•™์Šต ํ•˜๊ณ  ์˜ค์‹œ๊ธธ ๋ฐ”๋ž€๋‹ค.0๏ธโƒฃ HashMap์„ ํ™œ์šฉํ•˜์—ฌ ์ „ํ˜•์ ์ธ ํŠธ๋ผ์ด ๊ตฌ์กฐ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. + ๋ฌธ์ž์—ด์„ ์‚ฝ์ž…ํ•˜๋Š” insert ๋งค์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.1๏ธโƒฃ ๋ฌธ์ž์—ด (์ดํ•˜ str)์„ ํŠธ๋ผ์ด์— ์‚ฝ์ž…ํ•œ๋‹ค.2๏ธโƒฃ ๋งŒ์•ฝ str์„ ์‚ฝ์ž…ํ•˜๋Š” ๋„์ค‘์—, ํ˜„์žฌ ์กฐํšŒ ์ค‘์ธ ๋ฌธ์ž๊ฐ€ ..
2025.01.14
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 1์ผ์ฐจ TIL + [๋ฐฑ์ค€] 11657 ํƒ€์ž„๋จธ์‹  java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜๊ณ  ํ•œ ๋ฒˆ ์จ๋ณด๋ผ๋Š” ๊ฒฌ๋ณธ ๋ฌธ์ œ์ด๋‹ค.์ฃผ์–ด์ง€๋Š” ๊ฐ„์„  ์ •๋ณด๋Š” ๋ชจ๋‘ ๋‹จ๋ฐฉํ–ฅ์ด๋‹ค.2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๐Ÿ—ƒ๏ธKEY WORD: BELLMAN-FORD ALGORITHM0๏ธโƒฃ ํ˜•ํƒœ๋กœ ๋ชจ๋“  ๊ฐ„์„ ์„ ์ €์žฅ, ์ตœ์†Œ ๋น„์šฉ ๋ฐฐ์—ด์ธ dist [] ์„ ์–ธ.(N: ์ •์ ์˜ ์ˆ˜, M: ๊ฐ„์„ ์˜ ์ˆ˜, dist ๋ฐฐ์—ด์€ Long.MAX_VALUE๋กœ ์ดˆ๊ธฐํ™”)1๏ธโƒฃ ์ถœ๋ฐœ์ง€๋ฅผ 1๋กœ ์„ค์ •ํ•˜๊ณ , N-1๋งŒํผ ๋ชจ๋“  ๊ฐ„์„ ์„ ๋Œ๋ฉด์„œ ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค.1๏ธโƒฃ-1) ํ˜„์žฌ ์กฐํšŒ์ค‘์ธ ๊ฐ„์„ ์˜ ์ถœ๋ฐœ์ง€๋ฅผ A, ๋„์ฐฉ์ง€๋ฅผ B, AโžœB์˜ ๊ฐ€์ค‘์น˜๋ฅผ C๋ผ๊ณ  ํ•  ๋•Œ,dist[A] != ∞๏ธŽ๏ธŽ && dist[B] > dist[A] + C์ด๋ฉด, dist[B] = dist[A] + C๋กœ ์ตœ์‹ ํ™” ํ•ด์ค€๋‹ค.2๏ธโƒฃ ์œ„ ๊ณผ์ •์„ ๋๋‚ธ ํ›„, ๋ฒจ๋งŒ ..
2025.01.13
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
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
[๋ฐฑ์ค€] 2110 ๊ณต์œ ๊ธฐ ์„ค์น˜ java, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD : Binary Search, Parametric Search, Greedy Algorithm(1) ์ง‘ ๊ฐ„์˜ ์ตœ์†Œ ๊ฑฐ๋ฆฌ์™€ ์ตœ๋Œ€๊ฑฐ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด, ์ž„์˜์˜ ๊ฑฐ๋ฆฌ d๋ฅผ ์‚ฐ์ •ํ•œ๋‹ค.(2) '๋ชจ๋“  ๊ณต์œ ๊ธฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ตœ์†Œํ•œ d ์ด์ƒ์ธ๊ฐ€?'๋ฅผ boolean ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.(3) (2)๋ฒˆ์ด true๋ฉด, start = mid + 1๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ์ƒํ–ฅ ์กฐ์ •, false๋ฉด end = mid - 1๋กœ ํ•˜ํ–ฅ ์กฐ์ •ํ•œ๋‹ค.(4) start์™€ end๊ฐ€ ์—‡๊ฐˆ๋ ธ์„ ๋•Œ, start - 1์ด ๋‹ต์ด๋‹ค.(1) Parametric Search ์ด์šฉํ•ด๋‹น ๋ฌธ์ œ๋Š” ๊ฐ€์žฅ ์ธ์ ‘ํ•œ ๋‘ ๊ณต์œ ๊ธฐ ์‚ฌ์ด์˜ ์ตœ๋Œ€ ๊ฑฐ๋ฆฌ ์ฆ‰ ์ตœ์†Œ๊ฐ’ ์ค‘์—์„œ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ์ตœ์ ํ™” ๋ฌธ์ œ์ด๋‹ค. ์ตœ์ ํ™” ๋ฌธ์ œ๋Š” ๋ฐ”๋กœ ํ’€๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ..
2025.01.10
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
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
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด