์ ์ฒด ๊ธ
-
๐๏ธ ์๊ณ ๋ฆฌ์ฆ | ์ฌ๊ท ํจ์(Recursion), ํผ๋ณด๋์น ์algorithm 2020. 7. 23. 18:26
what is ์ฌ๊ท ํจ์ ๋ง์ ์ฌ๋๋ค์ด ๋ง์ง์์ ๋ฐฅ์ ๋จน๊ธฐ ์ํด ์ค์ ์ฐ๋ค. ํ์ฌ ๋๋ ์ค์ ๋งจ ๋์ ์์นํ๊ณ ์๋ค. ํ์ฌ ๋ด๊ฐ ๋ช ๋ฒ์งธ๋ก ๋๊ธฐํ๊ณ ์๋์ง ์๊ณ ์ถ๋ค๋ฉด ์ ์ฌ๋์๊ฒ ๋ช ๋ฒ์งธ์ธ์ง ๋ฌผ์ด๋ณด๋ฉด ๋๋ค. ๋ง์ฝ ์ ์ฌ๋์ด ๋ชจ๋ฅธ๋ค๋ฉด ์ ์ฌ๋์ ์์ ์ ์ ์ฌ๋์๊ฒ ๋ฌผ์ด๋ณด๊ณ ์ด ๊ณผ์ ์ด ๋ฐ๋ณต๋ ๊ฒ์ด๋ค(์ฒซ ๋ฒ์งธ ๋๊ธฐ์๊น์ง). ๋๋ ์ ์ฌ๋์๊ฒ '์ ๋ 5๋ฒ์ด์์' ๋ผ๋ ๋๋ต์ ๋ค์๋ค. ๊ทธ๋ ๋ค๋ฉด ๋์ ๋๊ธฐ๋ฒํธ๋ 5 + 1 = 6๋ฒ ์ด๋ค. ๊ทธ ๊ณผ์ ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์๋์ ๊ฐ๋ค. function getMyPositionInLine(person){ if (person.nextInLine == null){ //์์ฌ๋ ์กด์ฌ x return 1; } return 1 + getMyPositionInLine(person.ne..
-
๐์๋ฐ์คํฌ๋ฆฝํธ 5 | this, 5๊ฐ์ง ๋ฐ์ธ๋ฉ ํจํด์๋ฐ์คํฌ๋ฆฝํธ 2020. 7. 21. 18:27
this let array = []; array.push(1); array.pop(); push, pop, shift, unshift ๋ฑ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ง์ ๋ฉ์๋๋ค์ ์ฌ์ฉํ ์ ์๋ค. ๋ฉ์๋๋ค์ ์์ ์ด ์ํ ๊ฐ์ฒด(๋ง์นจํ ์์ ๊ฐ์ฒด)์ ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ๊ณ ๋ณ๊ฒฝํ ์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ณตํ๋ ๋ฉ์๋๋ค์ ์ด๋ฏธ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ์๋ฅผ ํด๋์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ธ๋ค ์ฌ์ฉํ ์ ์๋ค. function Example(){ this.storage = []; } Example.prototype.push = function(){ this.storage.push(1); return 1; } Example ์์ฑ์ ํจ์๋ฅผ ์์ฑํ๋ค. push ๋ฉ์๋๋ storage์ 1์ ์ถ๊ฐํ๋ ๋ฉ์๋์ด๋ค. ์์ฑ์ ํจ์๋ก ์ธ์คํด์ค๋ฅผ ์์ฑ..