algorithm
-
๐๏ธ ์๊ณ ๋ฆฌ์ฆ | ์ฌ๊ท ํจ์(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..