์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ธ๋์น ์ญ์
- branch ์ญ์
- ์ฝ๋๋ธ๋ญ
- ๋ธ๋์น ์์ฑ
- ![rejected]
- branch ํ์ธ
- branch ์์ฑ
- markdown
- ๋ธ๋์น ํ์ธ
- ์ฝ๋๋ธ๋ก
- Git๋ช ๋ น์ด
- ๋งํฌ๋ค์ด
- Today
- Total
DevLog
TIL(20210720) - ์ฌ๊ท(recursion) ๋ณธ๋ฌธ
๐ Today
- ์ฌ๊ท(recursion)์ ์ดํด, JavaScript์์ ์ฌ๊ท ํธ์ถ ํ์ต
- ์ฌ๊ท(recursion)์ ์ด์ฉํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด
๐ค Learned
๋ฌธ์ ๋ฅผ ์ชผ๊ฐ์ด ์๊ฐํ๋ ๋ฐฉ๋ฒ
์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋, ๋์ผํ ๊ตฌ์กฐ์ ๋ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ท(recursion)๋ผ๊ณ ํฉ๋๋ค. ์ฌ๊ท์ ๊ณผ์ ์ arrSum
์ ์ ์ฉํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ธฐ์กด์ ๋ฌธ์ ์์ ์ถ๋ฐํ์ฌ ๋ ์์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํฉ๋๋ค.
arrSum([10, 3, 6, 2]) = 10 + arrSum([3, 6, 2]);
[์ฝ๋] arrSum์ ์ ์ฉํ ๋ฌธ์ ๋ฅผ ๋ ์๊ฒ ์ชผ๊ฐญ๋๋ค.
๊ฐ์ ๋ฐฉ์์ผ๋ก, ๋ฌธ์ ๊ฐ ๋๋ ์์์ง์ง ์์ ๋๊น์ง ๋ ์์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํฉ๋๋ค.
arrSum([3, 6, 2]) = 3 + arrSum([6, 2]); arrSum([6, 2]) = 6 + arrSum([2]); arrSum([2]) = 2 + arrSum([]);
[์ฝ๋] arrSum์ ์ ์ฉํ ๋ฌธ์ ๋ฅผ ๊ฐ์ฅ ์์ ๋จ์๊น์ง ์ชผ๊ฐญ๋๋ค.
๋ฌธ์ ๊ฐ ๊ฐ๋จํด์ ธ์ ๋ฐ๋ก ํ ์ ์๊ฒ ๋๋ ์๊ฐ๋ถํฐ ์์ ์์ฑํ ๋ฌธ์ ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ํด๊ฒฐํฉ๋๋ค.
arrSum([]) = 0; // <-- ๋ฌธ์ ๊ฐ ๋๋ ์์์ง์ง ์๋ ์๊ฐ // ๊ฐ์ฅ ์์ ๊ฒฝ์ฐ์ ํด๊ฒฐ์ฑ ์ ์ ์ฉํ๋ค. arrSum([2]) = 2 + arrSum([]) = 2; arrSum([6, 2]) = 6 + arrSum([2]) = 6 + 2 = 8; arrSum([3, 6, 2]) = 3 + arrSum([6, 2]) = 3 + 8 = 11; arrSum([10, 3, 6, 2]) = 10 + arrSum([3, 6, 2]) = 10 + 11 = 21;
[์ฝ๋] ๊ฐ์ฅ ์์ ๋จ์๋ถํฐ arrSum์ ์ ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด, arrSum
์ ๋ณด๋ค ์๋ฐํ๊ฒ(formally) ์ ์ํ ์ ์์ต๋๋ค.
/*
* 1. arr์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ = 0
* 2. ๊ทธ ์ธ์ ๊ฒฝ์ฐ = arr[0] + arrSum(arr2)
* (arr2๋ arr์ ์ฒซ ์์๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ฐฐ์ด)
*/
arrSum(arr);
[์ฝ๋] ํจ์ arrSum์ ์๋ฐํ ์ ์
๋ง์ฝ ํจ์ arrSum
์ JavaScript ์ฝ๋๋ก ๊ตฌํํ ๊ฒฝ์ฐ (์ฝํ๋ฆฟ ๊ณผ์ ์ค ํ๋์
๋๋ค), ํจ์ arrSum
์ (์ธ์๊ฐ ๋น ๋ฐฐ์ด์ด ์๋ ๊ฒฝ์ฐ) ์คํ๊ณผ์ ์ค์ ์๊ธฐ ์์ ์ ํธ์ถํฉ๋๋ค. ์ด๋ฌํ ํธ์ถ ๋ฐฉ์์ ์ฌ๊ท ํธ์ถ์ด๋ผ๊ณ ํฉ๋๋ค.
์ฌ๊ท๋ ์ธ์ ์ฌ์ฉํ๋ ๊ฒ ์ข์๊น?
์ฌ๊ท๋ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. 1. ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋น์ทํ ๊ตฌ์กฐ์ ๋ ์์ ๋ฌธ์ ๋ก ๋๋ ์ ์๋ ๊ฒฝ์ฐ 2. ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ์ด ๋ง๊ฑฐ๋ ๋ฐ๋ณต๋ฌธ์ ์ค์ฒฉ ํ์(number of loops)๋ฅผ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ
for (let i = 0; i < n; i++) {
for (let j = 0; j < n; j++) {
for (let k = 0; k < n; k++) {
for (let l = 0; l < n; l++) {
for (let m = 0; m < n; m++) {
for (let n = 0; n < n; n++) {
for (let o = 0; o < n; o++) {
for (let p = 0; p < n; p++) {
// do something
someFunc(i, j, k, l, m, n, o, p);
}
}
}
}
}
}
}
}
๋ชจ๋ ์ฌ๊ท ํจ์๋ ๋ฐ๋ณต๋ฌธ(while
๋ฌธ ๋๋ for
๋ฌธ)์ผ๋ก ํํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ท๋ฅผ ์ ์ฉํ ์ ์๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์๋, ์ฌ๊ท๋ฅผ ์ ์ฉํ ์ฝ๋๊ฐ ๋์ฑ ๊ฐ๊ฒฐํ๊ณ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค. Self Guided Lesson์ผ๋ก ์ฃผ์ด์ง ํ๋
ธ์ด์ ํ๊ณผ ์กฐํฉ(combination) ๋ฌธ์ ๋ฅผ ์ฌ๊ท ํจ์๋ก ์์ฑํ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ก ๋น๊ตํด ๋ณด์ธ์.
์ด ๋ฐ์๋, ์ฌ๊ท๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ๋ง์ ๋ถ๋ถ์ ์ฐจ์งํฉ๋๋ค. ์์ผ๋ก ๋ง๋๊ฒ ๋ ๋ค์ํ ์คํ๋ฆฐํธ์ ๊ธฐ์
์ ์
์ฌ ์ํ(์ฝ๋ฉ ํ
์คํธ, ์๊ณ ๋ฆฌ์ฆ ํ
์คํธ ๋ฑ)์ด๋ ์ง๋ฌด๋ฉด์ ์์ ํ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์, ๊ธฐ์ด๋ฅผ ํ์คํ๊ฒ ๋ค์ ธ๋๋ ๊ฒ ๋ฐ๋์งํฉ๋๋ค. ์ฌ์ค ๋ชจ๋ ์ฌ๊ท ํจ์๋ ์ฌ๊ท ํธ์ถ ์์ด while / for loop
์ผ๋ก ํํ์ด ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ์ฌ๊ท๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์ฌ๊ท๋ฅผ ์ฌ์ฉํ ์ฝ๋๊ฐ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋์ฑ ๊ฐ๊ฒฐํ๊ณ , ์ผ๋ถ์ ๊ฒฝ์ฐ์๋ ์ดํดํ๊ธฐ๋ ์ฝ์ต๋๋ค. ์ด ์ฅ์ด ๋๋๊ณ ๊ฒ์ ๊ณผ์ ๋ก ์ฃผ์ด์ง๋ ํ๋
ธ์ด์ ํ๊ณผ ์กฐํฉ(combination) ๋ฌธ์ ๋ฅผ ์ฌ๊ท์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ก ๋น๊ตํด ๋ณด์ธ์.
์ด ๋ฐ์๋ ์ฌ๊ท๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ๋ง์ ๋ถ๋ถ์ ์ฐจ์งํฉ๋๋ค. ๋์ค์ ํ์ตํ์๊ฒ ๋ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ์คํ๋ฆฐํธ์์, ๊ทธ๋ฆฌ๊ณ ๊ธฐ์ ์ ์ ์ฌ ์ํ(์๊ณ ๋ฆฌ์ฆ ํ ์คํธ)์์ ํ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ด๋ฅผ ํ์คํ๊ฒ ๋ค์ง์๊ธฐ ๋ฐ๋๋๋ค.
์ฌ๊ท์ ์ฌ๊ณ ์ฐ์ตํ๊ธฐ
์ฌ๊ท๋ ์์ ๊ฑฐ๋ฅผ ํ๋ ๊ฒ๊ณผ ๋น์ทํฉ๋๋ค. ์์ ๊ฑฐ ํ๋ ๋ฒ์ ์ฒ์ ๋ฐฐ์ธ ๋, ๋ค๋ฅธ ์ฌ๋์ด ํ๋ ๊ฒ์ ์์์ ์ง์ผ๋ณด๋ฉด ๊ฝค ์ฌ์ ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ ๋ด๊ฐ ํ๋ ค๊ณ ํ๋ฉด, ์๊ฐ๋ณด๋ค ์ ์ ๋ฉ๋๋ค. ์์ ๊ฑฐ๋ฅผ ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ณ์ ์๋ํ๊ณ ์ฐ์ตํ๋ ์๋ฐ์ ์์ต๋๋ค. ์ฌ๊ท ์ญ์ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์์ฐ์ค๋ฌ์์ง ๋๊น์ง ์ฐ์ตํด์ผ ํฉ๋๋ค. ์ด๋ฒ ์ฝํ ์ธ ์์ ์ฌ๊ท์ ์ฌ๊ณ ๋ฅผ ๋์ฑ ์ฝ๊ฒ ํ ์ ์๋ ๊ฐ์ด๋๋ฅผ ์๋ดํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ฅผ ๋ฐ๋ผ ์ฝํ๋ฆฟ์ ์ฌ๊ท ๋ฌธ์ ๋ฅผ ์ง์ํด์ ํ๋ค ๋ณด๋ฉด, ์ฌ๊ท์ ์ผ๋ก ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์ตํ๊ณ ์ฌ๊ท๋ฅผ ๋์ฑ๋ ์ฝ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
1. ์ฌ๊ท ํจ์์ ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ ์ ์ํ๊ธฐ
์ฌ๊ท ํจ์๋ฅผ ํตํด ํ๊ณ ์ ํ๋ ๋ฌธ์ , ์ฆ ๋๋ฌํ๊ณ ์ ํ๋ ๋ชฉํ๋ฅผ ์ ์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฌ๊ท์ ์ผ๋ก ์ฌ๊ณ ํ๋ ๋ฐ์ ๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ์ผ์ ๋ฌธ์ ๋ฅผ ๊ฐ์ฅ ์ถ์์ ์ผ๋ก ๋๋, ๊ฐ์ฅ ๋จ์ํ๊ฒ ์ ์ํ๋ ๊ฒ์
๋๋ค. ํจ์ arrSum์ ๊ฒฝ์ฐ number
ํ์
์ ์์๋ก ๊ฐ๋ ๋ฐฐ์ด์ ์
๋ ฅ์ผ๋ก ๋ฐ๊ณ , number
ํ์
์ ๋ฆฌํดํฉ๋๋ค. ์ด๋ฅผ ์ข ๋ ๊ฐ๋จํ๊ฒ ํ๊ธฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
arrSum: [number] => number
2. ๋ฌธ์ ๋ฅผ ์ชผ๊ฐ๊ณ ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋๊ธฐ
์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ์ชผ๊ฐค ๊ฒ์ธ์ง ๊ณ ๋ฏผํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ์ชผ๊ฐค ๊ธฐ์ค์ ์ ํ๊ณ , ์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ฌธ์ ๋ฅผ ๋ ํฐ ๊ฒฝ์ฐ์ ์์ ๊ฒฝ์ฐ๋ก ๊ตฌ๋ถํ ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ, ์ ๋ ฅ๊ฐ์ผ๋ก ์ด ๊ธฐ์ค์ ์ ํฉ๋๋ค. ์ด๋ ์ค์ํ ๊ด์ ์ ์ ๋ ฅ๊ฐ์ด๋ ๋ฌธ์ ์ ์์์ ํฌ๊ธฐ์ ๋๋ค. ์ฃผ์ด์ง ์ ๋ ฅ๊ฐ ๋๋ ๋ฌธ์ ์ํฉ์ ํฌ๊ธฐ๋ก ๊ตฌ๋ถํ ์ ์๊ฑฐ๋, ์์๋ฅผ ๋ช ํํ๊ฒ ์ ํ ์ ์๋ค๋ฉด ๋ฌธ์ ๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌ๋ถ๋ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ์์ด ์์๋ ํฌ๊ธฐ์ ๊ด๊ณ์์ด ๋ชจ๋ ๊ฐ๋ค๋ฉด, ๋ฌธ์ ๋ฅผ ์ ๋๋ก ๊ตฌ๋ถํ ๊ฒ์ ๋๋ค.
- ํจ์
arrSum
์ ๊ฒฝ์ฐ ์ ๋ ฅ๊ฐ์ธ ๋ฆฌ์คํธ(๋ฐฐ์ด)์ ํฌ๊ธฐ์ ๋ฐ๋ผ, ๋ ์์ ๋ฌธ์ ๋ก ๋๋ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณarrSum([1, 2, 3, 4])
๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ๊ณผarrSum([2, 3, 4])
์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋์ผํ๋ฏ๋ก, ์ด ๊ตฌ๋ถ์ ์ ์ ํ๋ค๊ณ ํ๋จํ ์ ์์ต๋๋ค.
์ด์ ๋ฌธ์ ์์ ์ฃผ์ด์ง ์ ๋ ฅ๊ฐ์ ๋ฐ๋ผ, ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ก ๋๋๋๋ค.
- ํจ์
arrSum
์ ์ ๋ ฅ๊ฐ์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ก ๋๋ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. arrSum: [number] => number
arrSum([ ])
arrSum([e1, e2, ... , en])
3. ๋จ์ํ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ
๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๊ฒฝ์ฐ๋ก ๊ตฌ๋ถํ ๋ค์์๋, ๊ฐ์ฅ ํด๊ฒฐํ๊ธฐ ์ฌ์ด ๋ฌธ์ ๋ถํฐ ํด๊ฒฐํฉ๋๋ค. ์ด๋ฅผ ์ฌ๊ท์ ๊ธฐ์ด(base case)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ฌ๊ท์ ๊ธฐ์ด๋ ๋์ค์ ์ฌ๊ท ํจ์๋ฅผ ๊ตฌํํ ๋, ์ฌ๊ท์ ํ์ถ ์กฐ๊ฑด(์ฌ๊ท ํธ์ถ์ด ๋ฉ์ถ๋ ์กฐ๊ฑด)์ ๊ตฌ์ฑํฉ๋๋ค.
- ํจ์
arrSum
์ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๊ฒฝ์ฐ๋ ์ ๋ ฅ๊ฐ์ด ๋น ๋ฐฐ์ด์ผ ๊ฒฝ์ฐ์ด๊ณ , ์ด๋arrSum([])
์ ๋ฆฌํด๊ฐ์ 0์ ๋๋ค. arrSum: [number] => number
arrSum([ ]) = 0
arrSum([e1, e2, ... , en])
4. ๋ณต์กํ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ
๋จ์์๋ ๋ณต์กํ ๊ฒฝ์ฐ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ๊ธธ์ด๊ฐ 1 ์ด์์ธ ๋ฐฐ์ด์ด ํจ์
arrSum
์ ์ ๋ ฅ๋ ๊ฒฝ์ฐ, ๋งจ ์์ ์์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ๊ตฌํ๊ณ (๋ฐฐ์ด์ ๋งจ ์์ ์์์ด๊ธฐ ๋๋ฌธ์head
๋ผ๊ณ ์ด๋ฆ ๋ถ์ด๊ฒ ์ต๋๋ค.), ๋๋จธ์ง ์์๋ฅผ ์๋ก์ด ์ ๋ ฅ๊ฐ์ผ๋ก ๊ฐ๋ ๋ฌธ์ ๋ก ๊ตฌ๋ถํ๊ณ , ์ด๋ฅผ ํด๊ฒฐํ์ฌ ์ป์ ๊ฒฐ๊ณผ๋ฅผhead
์ ๋ํฉ๋๋ค. arrSum: [number] => number
arrSum([ ]) = 0
arrSum([e1, e2, ... , en]) = e1 + arrSum([e2, ..., en])
- ๋ฐฐ์ด์
head
์ ๋๋จธ์ง ๋ถ๋ถ(tail
)์ผ๋ก ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ๋ง ์๋ค๋ฉด, ํจ์ arrSum์ ์ฌ๊ท์ ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
5. ์ฝ๋ ๊ตฌํํ๊ธฐ
function arrSum(arr) {
//Base Case : ๋ฌธ์ ๋ฅผ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๊ฒฝ์ฐ (์ฌ๊ท์ ๊ธฐ์ด)
if (arr์ ๊ธธ์ด๊ฐ 0์ธ ๊ฒฝ์ฐ) {
return 0;
}
/*
* Recursive Case : ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ
* ๋ฌธ์ ๋ฅผ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๊ฒฝ์ฐ
* head: ๋ฐฐ์ด์ ์ฒซ ์์
* tail: ๋ฐฐ์ด์ ์ฒซ ์์๋ง ์ ๊ฑฐ๋ ๋ฐฐ์ด
*/
return head + arrSum(tail);
}
์๋๋ ์ผ๋ฐ์ ์ธ ์ฌ๊ท ํจ์์ ํ ํ๋ฆฟ์ ๋๋ค. ์ฌ๊ท ํจ์ ์ฐ์ต์ ํ์ฉํ์ธ์.
function recursive(input1, input2, ...) {
// Base Case : ๋ฌธ์ ๋ฅผ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๊ฒฝ์ฐ
if (๋ฌธ์ ๋ฅผ ๋ ์ด์ ์ชผ๊ฐค ์ ์์ ๊ฒฝ์ฐ) {
return ๋จ์ํ ๋ฌธ์ ์ ํด๋ต;
}
// recursive Case
// ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ
return ๋ ์์ ๋ฌธ์ ๋ก ์๋กญ๊ฒ ์ ์๋ ๋ฌธ์
// ์1. someValue + recursive(input1Changed, input2Changed, ...)
// ์2. someValue * recursive(input1Changed, input2Changed, ...)
}
๐ Tomorrow
- oop ๋ณต์ต
- ํ ์ด 1๋ฒ ๋ค์ ๋ณด๊ธฐ
'๐ค TIL(Today I Learned)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL(20210723) - BFS & DFS (0) | 2021.07.23 |
---|---|
TIL(20210722) - ์๋ฃ๊ตฌ์กฐ(Stack, Queue, Tree, Graph) (0) | 2021.07.22 |
TIL(20210718) - sort() ๋ฉ์๋ ์ฌ์ฉ๋ฒ (0) | 2021.07.18 |
TIL(20210717) - ํด๋์ค์ ์ค๋ธ์ ํธ์ ์ฐจ์ด์ , ํด๋์ค ์ ๋ฆฌ (0) | 2021.07.17 |
TIL(20210716) - JSON & XML (0) | 2021.07.16 |