Skip to content

[hwi-middle] WEEK 12 solutions#2609

Merged
jamiebase merged 1 commit into
DaleStudy:mainfrom
hwi-middle:main
May 23, 2026
Merged

[hwi-middle] WEEK 12 solutions#2609
jamiebase merged 1 commit into
DaleStudy:mainfrom
hwi-middle:main

Conversation

@hwi-middle
Copy link
Copy Markdown
Contributor

@hwi-middle hwi-middle commented May 23, 2026

๋‹ต์•ˆ ์ œ์ถœ ๋ฌธ์ œ

์ž‘์„ฑ์ž ์ฒดํฌ ๋ฆฌ์ŠคํŠธ

  • Projects์˜ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ(โ–ผ)์„ ๋ˆŒ๋Ÿฌ ํ™•์žฅํ•œ ๋’ค, Week๋ฅผ ํ˜„์žฌ ์ฃผ์ฐจ๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
  • ๋ฌธ์ œ๋ฅผ ๋ชจ๋‘ ํ‘ธ์‹œ๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ Status๋ฅผ In Review๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
  • ์ฝ”๋“œ ๊ฒ€ํ† ์ž 1๋ถ„ ์ด์ƒ์œผ๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ๋ฐ›์œผ์…จ๋‹ค๋ฉด PR์„ ๋ณ‘ํ•ฉํ•ด์ฃผ์„ธ์š”.

๊ฒ€ํ† ์ž ์ฒดํฌ ๋ฆฌ์ŠคํŠธ

Important

๋ณธ์ธ ๋‹ต์•ˆ ์ œ์ถœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ๋ถ„ PR ํ•˜๋‚˜ ์ด์ƒ์„ ๋ฐ˜๋“œ์‹œ ๊ฒ€ํ† ๋ฅผ ํ•ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค!

  • ๋ฐ”๋กœ ์ด์ „์— ์˜ฌ๋ผ์˜จ PR์— ๋ณธ์ธ์„ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์–ด๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  • ๋ณธ์ธ์ด ๊ฒ€ํ† ํ•ด์•ผํ•˜๋Š” PR์˜ ๋‹ต์•ˆ ์ฝ”๋“œ์— ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์„ธ์š”.
  • ํ† ์š”์ผ ์ „๊นŒ์ง€ PR์„ ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šน์ธํ•ด์ฃผ์„ธ์š”.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿท๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจํ„ด ๋ถ„์„

  • ํŒจํ„ด: Greedy, Sorting
  • ์„ค๋ช…: ์ด ์ฝ”๋“œ๋Š” ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ํ›„, ๊ฒน์น˜์ง€ ์•Š๋Š” ๊ตฌ๊ฐ„์„ ์„ ํƒํ•˜๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ๊ณผ ์„ ํƒ ์ „๋žต์ด ํ•ต์‹ฌ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

๋ณต์žก๋„
Time O(n log n)
Space O(1)

ํ”ผ๋“œ๋ฐฑ: ์ž…๋ ฅ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋ฐ O(n log n)๊ฐ€ ์†Œ์š”๋˜๊ณ , ์ดํ›„ ํ•œ ๋ฒˆ ์ˆœํšŒํ•˜๋ฉฐ ๊ฒน์น˜๋Š” ๊ตฌ๊ฐ„์„ ์„ธ๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n log n)์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐ„์€ ์ •๋ ฌ์„ ์œ„ํ•œ ์ œ์ž๋ฆฌ ์ •๋ ฌ ๋˜๋Š” ๋ณ„๋„ ๋ฐฐ์—ด ์—†์ด ์ธ๋ฑ์Šค๋งŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ O(1)์ž…๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ’€์ด์— ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ฃผ์„์œผ๋กœ ๋‚จ๊ฒจ๋ณด์„ธ์š”!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿท๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจํ„ด ๋ถ„์„

  • ํŒจํ„ด: Union Find
  • ์„ค๋ช…: ์ด ์ฝ”๋“œ๋Š” ๋ฌดํ–ฅ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ์ปดํฌ๋„ŒํŠธ ์ˆ˜๋ฅผ ์„ธ๊ธฐ ์œ„ํ•ด Union-Find(๋ถ„๋ฆฌ ์ง‘ํ•ฉ) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ๋“ค์„ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

๋ณต์žก๋„
Time O(n + m)
Space O(n)

ํ”ผ๋“œ๋ฐฑ: ์œ ๋‹ˆ์˜จ-ํŒŒ์ธ๋“œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๊ฐ ์—ฃ์ง€์— ๋Œ€ํ•ด ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋ณ‘ํ•ฉ์ด ์ผ์–ด๋‚  ๋•Œ๋งˆ๋‹ค ์ปดํฌ๋„ŒํŠธ ์ˆ˜๋ฅผ ๊ฐ์†Œ์‹œํ‚ต๋‹ˆ๋‹ค. find์™€ union ์—ฐ์‚ฐ์€ ๊ฑฐ์˜ ์ƒ์ˆ˜ ์‹œ๊ฐ„์— ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐ„์€ ๋ถ€๋ชจ ๋ฐฐ์—ด ์ €์žฅ์— O(n)์ž…๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ’€์ด์— ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ฃผ์„์œผ๋กœ ๋‚จ๊ฒจ๋ณด์„ธ์š”!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿท๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจํ„ด ๋ถ„์„

  • ํŒจํ„ด: Stack
  • ์„ค๋ช…: ์ด ์ฝ”๋“œ๋Š” ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ณ  ํŠน์ • ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ์„ ํ™œ์šฉํ•œ ํ›„์ฒ˜๋ฆฌ๋กœ ๋…ธ๋“œ ์œ„์น˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

๋ณต์žก๋„
Time O(n)
Space O(n)

ํ”ผ๋“œ๋ฐฑ: ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์Šคํƒ์— ๋…ธ๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ , n๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์—์„œ popํ•˜์—ฌ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ์ œ๊ฑฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ๋ฆฌ์ŠคํŠธ ๊ธธ์ด๋งŒํผ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์€ ๋ฆฌ์ŠคํŠธ ๊ธธ์ด์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ’€์ด์— ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ฃผ์„์œผ๋กœ ๋‚จ๊ฒจ๋ณด์„ธ์š”!

Comment thread same-tree/hwi-middle.cpp
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿท๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจํ„ด ๋ถ„์„

  • ํŒจํ„ด: DFS
  • ์„ค๋ช…: ์ด ์ฝ”๋“œ๋Š” ์žฌ๊ท€ ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋‘ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS) ํŒจํ„ด์— ์†ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

๋ณต์žก๋„
Time O(n)
Space O(h)

ํ”ผ๋“œ๋ฐฑ: ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•ด ์žฌ๊ท€์ ์œผ๋กœ ๋น„๊ตํ•˜๋ฉฐ, ์ตœ์•…์˜ ๊ฒฝ์šฐ ํŠธ๋ฆฌ ๋†’์ด๋งŒํผ ํ˜ธ์ถœ ์Šคํƒ์ด ์Œ“์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n)์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐ„์€ ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ’€์ด์— ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ฃผ์„์œผ๋กœ ๋‚จ๊ฒจ๋ณด์„ธ์š”!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿท๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒจํ„ด ๋ถ„์„

  • ํŒจํ„ด: Breadth-First Search
  • ์„ค๋ช…: ์ด ์ฝ”๋“œ๋Š” ๋ ˆ๋ฒจ ์ˆœํšŒ ๋ฐฉ์‹์œผ๋กœ ํŠธ๋ฆฌ๋ฅผ ์ง๋ ฌํ™”ํ•˜๊ณ  ์—ญ์ง๋ ฌํ™”ํ•˜์—ฌ BFS ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋…ธ๋“œ๋“ค์„ ์ฐจ๋ก€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

โ„น๏ธ ์ด ํŒŒ์ผ์—๋Š” 2๊ฐ€์ง€ ํ’€์ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ๊ฐ๊ฐ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

ํ’€์ด 1: Codec.serialize โ€” Time: O(n) / Space: O(n)
๋ณต์žก๋„
Time O(n)
Space O(n)

ํ”ผ๋“œ๋ฐฑ: ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ์œผ๋ฉฐ ์ง๋ ฌํ™”ํ•˜๊ณ , ๋งˆ์ง€๋ง‰ null ๊ฐ’๋“ค์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„ ๋ชจ๋‘ ๋…ธ๋“œ ์ˆ˜์— ๋น„๋ก€ํ•˜๋ฉฐ, ํ์™€ ๋ฌธ์ž์—ด ์ €์žฅ์— O(n) ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

ํ’€์ด 2: Codec.deserialize โ€” Time: O(n) / Space: O(n)
๋ณต์žก๋„
Time O(n)
Space O(n)

ํ”ผ๋“œ๋ฐฑ: ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌํ•˜์—ฌ ํ์— ์ €์žฅํ•˜๊ณ , ์ˆœ์ฐจ์ ์œผ๋กœ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ ํŠธ๋ฆฌ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ์”ฉ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n), ๊ณต๊ฐ„์€ O(n)์ž…๋‹ˆ๋‹ค.

๊ฐœ์„  ์ œ์•ˆ: ํ˜„์žฌ ๊ตฌํ˜„์ด ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ํ’€์ด์— ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ฃผ์„์œผ๋กœ ๋‚จ๊ฒจ๋ณด์„ธ์š”!

@jamiebase jamiebase self-requested a review May 23, 2026 08:45
Copy link
Copy Markdown
Contributor

@jamiebase jamiebase left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋ฒˆ ์ฃผ๋„ ์™„์ฃผ ์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ’€์ด ์ž˜ ๋ดค์Šต๋‹ˆ๋‹ค!!

@jamiebase jamiebase merged commit 746d754 into DaleStudy:main May 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

2 participants