์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [PGM_43165] ํƒ€๊ฒŸ ๋„˜๋ฒ„ (java)

    [PGM_43165] ํƒ€๊ฒŸ ๋„˜๋ฒ„ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํƒ€๊ฒŸ ๋„˜๋ฒ„ n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์ˆ˜๋“ค์„ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ๋ธŒ๋ฃจํŠธํฌ์Šค - ์žฌ๊ท€ 2021.11.02 - [CordingTest/Algolithm] - ๋ธŒ๋ฃจํŠธํฌ์Šค(2) ์žฌ๊ท€ ๋ฐฐ์—ด๊ณผ ํƒ€๊ฒŸ๋„˜๋ฒ„ ๋‘๊ฐœ์˜ ์ธํ’‹์ด ๋“ค์–ด์˜จ๋‹ค. ์ด ๋•Œ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ ๋‹นํžˆ + ํ˜น์€ -๋กœ ๋„ฃ์–ด์ฃผ์–ด ๋”ํ•ด์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๋Š” ๊ฒฝ์šฐ์˜์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 20๊ฐœ ..

    [PGM_42626] ๋” ๋งต๊ฒŒ (Java)

    [PGM_42626] ๋” ๋งต๊ฒŒ (Java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42626# ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋” ๋งต๊ฒŒ ๋งค์šด ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” Leo๋Š” ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Leo๋Š” ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋‘ ๊ฐœ์˜ ์Œ์‹์„ ์•„๋ž˜์™€ ๊ฐ™ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป Heap ์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ ์ดˆ๊ธฐ ์ •๋ ฌ ํ›„ ์‚ฝ์ž…์ •๋ ฌ๋กœ ๊ฐ’์„ ๊ณ„์† ๋„ฃ์–ด์ฃผ์—ˆ๋Š”๋ฐ ํšจ์œจ์„ฑ์—์„œ 0์ ์„ ๋ฐ›์•˜๋‹ค. ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ ์ ˆํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ Heap์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด Heap์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์—ˆ๋‹ค. ๋” ๋งต๊ฒŒ ๋ฌธ์ œ๋Š” ๋งค์šด๋ง›์— ๋Œ€ํ•œ ๋ฐฐ์—ด๊ณผ ๋งค์šด ๊ฐ•๋„ K๊ฐ’์ด input์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ..

    [PGM_42626] ๋” ๋งต๊ฒŒ (Java)

    [PGM_42626] ๋” ๋งต๊ฒŒ (Java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42626# ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋” ๋งต๊ฒŒ ๋งค์šด ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” Leo๋Š” ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Leo๋Š” ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋‘ ๊ฐœ์˜ ์Œ์‹์„ ์•„๋ž˜์™€ ๊ฐ™ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป Heap ์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ ์ดˆ๊ธฐ ์ •๋ ฌ ํ›„ ์‚ฝ์ž…์ •๋ ฌ๋กœ ๊ฐ’์„ ๊ณ„์† ๋„ฃ์–ด์ฃผ์—ˆ๋Š”๋ฐ ํšจ์œจ์„ฑ์—์„œ 0์ ์„ ๋ฐ›์•˜๋‹ค. ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ ์ ˆํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ Heap์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด Heap์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์—ˆ๋‹ค. ๋” ๋งต๊ฒŒ ๋ฌธ์ œ๋Š” ๋งค์šด๋ง›์— ๋Œ€ํ•œ ๋ฐฐ์—ด๊ณผ ๋งค์šด ๊ฐ•๋„ K๊ฐ’์ด input์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ..

    ์ž๋ฐ”์—์„œ Heap ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

    ์ž๋ฐ”์—์„œ Heap ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

    Java์—์„œ Heap ์‚ฌ์šฉํ•˜๊ธฐ Java์—์„œ๋Š” Collection์œผ๋กœ Heap์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ Max-Heap๊ณผ Min-Heap์„ Primary Queue๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Primary Queue๋ฅผ ํ™œ์šฉํ•ด Heap์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. Heap์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๊ฐ’๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํŠธ๋ฆฌ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค๊ณ  ํ•  ๋•Œ, ๋ฃจํŠธ์— ์œ„์น˜ํ•˜๋Š” ๊ฐ’์ด ์ตœ๋Œ€ ํ˜น์€ ์ตœ์†Œ๊ฐ’์ด ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ตœ์†Œ ํž™ ์‚ฌ์šฉํ•˜๊ธฐ ์ตœ์†Œํž™์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ Primary Queue๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. PriorityQueue minHeap = new PriorityQueue(); ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ ์ปฌ๋ ‰์…˜์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์œผ๋ฉด remove๋˜๋Š” peek์˜ ๊ฐ’์ด minHeap์˜ ์ตœ์†Œ๊ฐ’์ด ๋œ๋‹ค. Prim..