๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Tree

๋ฌธ์ œ https://leetcode.com/problems/minimum-depth-of-binary-tree/description/ ์ฃผ์–ด์ง„ ์ด์ง„ํŠธ๋ฆฌ์—์„œ ํŠธ๋ฆฌ์˜ ์ตœ์†Œ ๊นŠ์ด๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ. ์ตœ์†Œ ๊นŠ์ด๋Š” ๋ฃจํŠธ ๋…ธ๋“œ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฆฌํ”„ ๋…ธ๋“œ๊นŒ์ง€ ๋‚ด๋ ค๊ฐ€๋Š” ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ๋…ธ๋“œ์˜ ์ˆ˜์ด๋‹ค. Note: ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค. ํ’€์ด 1. BFS - ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ fun minDepth(root: TreeNode?): Int { if(root == null) return 0 val q = ArrayDeque() q.add(root) var depth = 1 while (q.isNotEmpty()) { val curSize = q.size repeat(curSize) { val curNode = q..
๋ฌธ์ œ (Gold 1) https://www.acmicpc.net/problem/2233 2233๋ฒˆ: ์‚ฌ๊ณผ๋‚˜๋ฌด ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 2,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋ฒŒ๋ ˆ๊ฐ€ ๋งŒ๋“œ๋Š” 2×N์ž๋ฆฌ์˜ ์ด์ง„์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” ์ฉ์€ ์‚ฌ๊ณผ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ X, Y๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” 2×N์ž๋ฆฌ www.acmicpc.net ํ’€์ด ํŠธ๋ฆฌ๋Š” ์–ด๋ ต๋‹ค!!!!!!!!!!!!!!!!! ์ „์ฒด ๋กœ์ง 1. parent ๋ฐฐ์—ด๊ณผ root ๋ฐฐ์—ด ์ฑ„์šฐ๊ธฐ Stack์„ ์ด์šฉํ•˜์—ฌ ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ ์ด์ง„ ๋ฐฐ์—ด์„ ๋น„๊ตํ•˜๋ฉฐ ์‚ญ์ œํ•˜๊ณ ์ž ํ•˜๋Š” ๋…ธ๋“œ์˜ '์‹ค์ œ ์ธ๋ฑ์Šค' ๊ตฌํ•˜๊ธฐ 2. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณตํ†ต ์กฐ์ƒ ๊ตฌํ•˜๊ธฐ parent๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•œ ์žฌ๊ท€ ๊ธฐ์ €์กฐ๊ฑด: ๋ฃจํŠธ๊นŒ์ง€ ์™”์„ ๊ฒฝ์šฐ or ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ์ด๋ฏธ ๋ฐฉ๋ฌธ ํ–ˆ๋˜ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•  ๊ฒฝ์šฐ ๋กœ..
๋ฌธ์ œ (Gold 3) https://www.acmicpc.net/problem/4933 4933๋ฒˆ: ๋‰ดํ„ด์˜ ์‚ฌ๊ณผ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, ๋‘ ํŠธ๋ฆฌ๊ฐ€ ๋™๋“ฑํ•˜๋ฉด true๋ฅผ, ์•„๋‹ˆ๋ฉด false๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ํŠธ๋ฆฌ๋กœ ๋งŒ๋“œ๋Š๋ƒ๋ฅผ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ๊ด€๊ฑด. ์ž…๋ ฅ์€ ํฌ์ŠคํŠธ์˜ค๋”(ํ›„์œ„์ˆœํšŒ)๋กœ ์ฃผ์–ด์ง„๋‹ค๊ณ  ํ•˜๋‹ˆ stack์„ ํ™œ์šฉํ•˜์—ฌ ํŠธ๋ฆฌ ๊ตฌ์„ฑ ํ›„์œ„์ˆœํšŒ๋กœ ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„์˜ stack ๋ณ€ํ™˜ ๋กœ์ง 1. ํ˜„์žฌ ๋„ฃ์œผ๋ ค๋Š” ๋…ธ๋“œ(i)๊ฐ€ null์ด ์•„๋‹ˆ๊ณ , ์ด๋ฏธ ์Šคํƒ์— 2๊ฐœ ์ด์ƒ ์Œ“์—ฌ์žˆ๋‹ค๋ฉด 2. ๋งจ ๋‚˜์ค‘์— ๋„ฃ์€ ๋…ธ๋“œ(stack.pop())๊ฐ€ ์˜ค๋ฅธ์ชฝ ๋…ธ๋“œ 3. ๊ทธ ์ „์— ๋„ฃ์€ ๋…ธ๋“œ(stack.pop())๊ฐ€ ์™ผ์ชฝ ๋…ธ๋“œ 4. right์™€ left๋…ธ๋“œ์˜ ๋ถ€๋ชจ๋ฅผ ํ˜„์žฌ ๋…ธ๋“œ(i)๋กœ ์„ค์ • 5. ํ˜„์žฌ ..
์ ์ด
'๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Tree' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก