Skip to content

Commit

Permalink
review ๋ฐ˜์˜
Browse files Browse the repository at this point in the history
  • Loading branch information
แ„‹แ…ตแ„‹แ…งแ†ซแ„‰แ…ฎ committed Jan 4, 2025
1 parent 7e17953 commit 7b94450
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 14 deletions.
14 changes: 7 additions & 7 deletions combination-sum/EcoFriendlyAppleSu.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package leetcode_study

/*
* target์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
* ์ฃผ์–ด์ง„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ’(target)์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
* ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•ด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•œ ํ›„ ๊ตฌํ•œ ๊ฒฐ๊ณผ๊ฐ’์—์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(2^(target size))
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(2^n)
* -> target ๊ฐ’์„ 0์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ฐพ๋Š” ๊ณผ์ •
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(2^(target size))
* -> removeDuplicates๋Š” ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ. ์ค‘๋ณต์„ ์ œ์™ธํ•˜๋Š” ๊ณผ์ •์—์„œ O(2^(target size))๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(2^n)
* -> removeDuplicates๋Š” ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ. ์ค‘๋ณต์„ ์ œ์™ธํ•˜๋Š” ๊ณผ์ •์—์„œ O(2^n)๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ
* */
fun combinationSum(candidates: IntArray, target: Int): List<List<Int>> {
val result = mutableListOf<List<Int>>()
Expand Down Expand Up @@ -35,10 +35,10 @@ fun combinationSum(candidates: IntArray, target: Int): List<List<Int>> {

/*
* ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ, ์žฌ๊ท€ ์ž‘์„ฑ ์‹œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(2^(target size))
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(2^n)
* -> target ๊ฐ’์„ 0์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ฐพ๋Š” ๊ณผ์ •
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(target size)
* -> ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„์ด target ๊ฐ’์— ๋น„๋ก€ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์žฌ๊ท€ ๊นŠ์ด๋Š” O(target size)
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
* -> ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„์ด target ๊ฐ’์— ๋น„๋ก€ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์žฌ๊ท€ ๊นŠ์ด๋Š” O(n)
* */
fun combinationSumUsingBackTracking(candidates: IntArray, target: Int): List<List<Int>> {
val result = mutableListOf<List<Int>>()
Expand Down
2 changes: 1 addition & 1 deletion decode-ways/EcoFriendlyAppleSu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ fun lengthDivider(s: String): List<List<Int>> {
* ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์‚ฌ์šฉํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
* -> ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๋งŒํผ ์ˆœํšŒ
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
* -> ์ฃผ์–ด์ง„ ๊ธธ์ด ๋งŒํผ ๊ธฐ์กด ์ •๋ณด๋ฅผ '๋ฉ”๋ชจ'ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„
* */
fun numDecodings(s: String): Int {
Expand Down
2 changes: 1 addition & 1 deletion merge-two-sorted-lists/EcoFriendlyAppleSu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package leetcode_study
/*
* ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋‘ ๋…ธ๋“œ ๋ฆฌ์ŠคํŠธ๋ฅผ ํฌ๊ธฐ ์ˆœ์„œ๋Œ€๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฌธ์ œ
* ๊ธฐ์ค€ ๋…ธ๋“œ์™€ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ ๋…ธ๋“œ๋ฅผ ์ƒ์šฉํ•ด ๋ฌธ์ œ ํ•ด๊ฒฐ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n)
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(m + n)
* -> ์ฃผ์–ด์ง„ ๋‘ ๋…ธ๋“œ ์ˆซ์ž๋งŒํผ ์ˆœํšŒ
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
* */
Expand Down
6 changes: 3 additions & 3 deletions palindromic-substrings/EcoFriendlyAppleSu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package leetcode_study

/*
* ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ์ž๋ฅธ ๊ฐœ๋ณ„ ๋ฌธ์ž์—ด์ด ํšŒ๋ฌธ์ผ ๊ฒฝ์šฐ๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฌธ์ œ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n^2)
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n^3)
* -> ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์ž๋ฅผ ๋•Œ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ ์ˆ˜ํ–‰: O(n^2)
* -> subString() ํ•จ์ˆ˜๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ฃผ์–ด์ง„ k ๋งŒํผ ๋ฐฐ์—ด์„ ์ž๋ฅด๊ธฐ ๋•Œ๋ฌธ์— O(k)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง
* --> O(k) + O(n^2) = O(n^2)
* -> subString() ํ•จ์ˆ˜๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ฃผ์–ด์ง„ k ๋งŒํผ ๋ณต์‚ฌ๋œ ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— O(n) ์†Œ์š”
* --> O(n) * O(n^2) = O(n^3)
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
* -> subString() ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ๊ธธ์ด k์˜ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— subString ์ตœ๋Œ€ ๊ธธ์ด์ธ O(n)์„ ๊ฐ€์ง.
* */
Expand Down
5 changes: 3 additions & 2 deletions word-search/EcoFriendlyAppleSu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ package leetcode_study
* -> ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ์ฐพ๋Š” ๋ฐ˜๋ณต๋ฌธ: O(m *n)
* -> ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ์นธ์„ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ(dfs): O(m *n)
* --> O(m *n) + O(m *n) == O(m *n)
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(m *n)
* -> ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ ๊ณต๊ฐ„ dfs ํ•จ์ˆ˜์—์„œ ์ตœ์•…์˜ ๊ฒฝ์šฐ ํ•„์š”ํ•œ ์Šคํƒ ๊ณต๊ฐ„: O(m *n)
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(m * n * l)
* -> ๋ฐฉ๋ฌธ์„ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„: O(m * n)
* -> DFS๋Š” ๋‹จ์–ด์˜ ๊ธธ์ด l ๋งŒํผ ์ตœ๋Œ€ ๊นŠ์ด๋กœ ํ˜ธ์ถœ๋˜๋ฏ€๋กœ, ์žฌ๊ท€ ์Šคํƒ์˜ ๊ณต๊ฐ„ ๋ณต์žก๋„: O(l)
* */
val dx = listOf(0, 1, -1, 0)
val dy = listOf(1, 0, 0, -1)
Expand Down

0 comments on commit 7b94450

Please sign in to comment.