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

๋ฌธ์ œ https://leetcode.com/problems/implement-stack-using-queues/description/ ์˜ค์ง ๋‘๊ฐœ์˜ queue๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ›„์ž…์„ ์ถœ(LIFO)์˜ stack์„ ๊ตฌํ˜„ํ•˜์—ฌ๋ผ. ๊ตฌํ˜„๋œ ์Šคํƒ์€ ๊ธฐ๋ณธ ์Šคํƒ์˜ ํ•จ์ˆ˜(push, top, pop, empty)๋“ค์„ ์ง€์›ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. MyStack ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ๋ผ. void push(int x): ์Šคํƒ์˜ ๋์— x๋ฅผ ๋„ฃ๋Š”๋‹ค. int pop(): ์Šคํƒ์˜ ๋ ๊ฐ’์„ ์ง€์šฐ๊ณ , ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. int top(): ์Šคํƒ์˜ ๋ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. boolean empty(): ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ฃผ์˜ ์˜ค์ง ํ์˜ ํ‘œ์ค€ operation๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ๋ผ. ์ด๋Š” ํ์˜ ๋์—์„œ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” push..
๋ฌธ์ œ https://leetcode.com/problems/frog-jump/description/ ๊ฐœ๊ตฌ๋ฆฌ๋Š” ๊ฐ•์„ ๊ฑด๋„Œ๋‹ค. ๊ฐ•์€ ๋ช‡๊ฐœ์˜ unit์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ์žˆ๊ณ , ๊ทธ๊ณณ์—๋Š” ๋Œ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐœ๊ตฌ๋ฆฌ๋Š” ๋Œ ์œ„์—์„œ ์ ํ”„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฌผ๋กœ ๋›ฐ์–ด๋“ค์–ด์„  ์•ˆ๋œ๋‹ค. ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ stones(๋Œ)์˜ ์œ„์น˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐœ๊ตฌ๋ฆฌ๊ฐ€ ๋งˆ์ง€๋ง‰ ๋Œ์— ์ฐฉ๋ฅ™ํ•˜๋ฉฐ ๊ฐ•์„ ๊ฑด๋„ ์ˆ˜ ์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•˜๋ผ. ์ฒ˜์Œ ๊ฐœ๊ตฌ๋ฆฌ๋Š” ์ฒซ๋ฒˆ์งธ ๋Œ ์œ„์— ์„œ ์žˆ์œผ๋ฉฐ, ์ฒซ๋ฒˆ์งธ ์ ํ”„๋Š” 1 unit๋งŒํผ์ด๋‹ค. ๋งŒ์•ฝ ๊ฐœ๊ตฌ๋ฆฌ์˜ ๋งˆ์ง€๋ง‰ jump๊ฐ€ k unit๋งŒํผ์ด์—ˆ๋‹ค๋ฉด, ๋‹ค์Œ ์ ํ”„๋Š” k-1, k ๋˜๋Š” k+1 unit๋งŒํผ์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐœ๊ตฌ๋ฆฌ๋Š” ์˜ค์ง ์•ž์œผ๋กœ๋งŒ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํ’€์ด public class LeetCode_403_FrogJump { H..
DP ๋ฉ”๋ชจ์ด์ œ์ด์…˜(memoization) ์ด์ „์— ๊ณ„์‚ฐํ•œ ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด์„œ ๋งค๋ฒˆ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋„๋ก ํ•˜์—ฌ ์ „์ฒด์ ์ธ ์‹คํ–‰์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ  → ๋™์  ๊ณ„ํš๋ฒ•์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ ! ex) ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ์žฌ๊ท€: ์ค‘๋ณตํ˜ธ์ถœ์„ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋จ # memo๋ฅผ ์œ„ํ•œ ๋ฐฐ์—ด์„ ํ• ๋‹นํ•˜๊ณ , ๋ชจ๋‘ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค. # memo[0]์„ 0์œผ๋กœ memo[1]์€ 1๋กœ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค. fibo(n) IF n>=2 AND memo[n] = 0 memo[n] w K[i, w]
๋ฌธ์ œ https://leetcode.com/problems/unique-binary-search-trees-ii/ ์ฃผ์–ด์ง„ n์— ๋Œ€ํ•ด, ๋ชจ๋“  ๊ตฌ์กฐ์ ์œผ๋กœ ์œ ์ผํ•œ BST(์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ. BST๋Š” 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ–๋Š” n๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ์— ์ˆœ์„œ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค. ํ’€์ด DP์™€ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉ - ๊ฐ€์žฅ ์ž‘์€ ํŠธ๋ฆฌ๋…ธ๋“œ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด ์ด๋ฅผ ๊ธฐ๋กํ•ด๋‘๊ณ , ๊ณ„์†ํ•ด์„œ ํ•ด๋‹น memo๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n^2), ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n^2) 1. JAVA public class LeetCode_95_UniqueBinarySearchTrees2 { public static class TreeNode { int val; TreeNode left; TreeNode right; T..
์ ์ด
'๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก