September 2, 2021

Untitled

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(n, r){         
                let answer=[];
                let dy= Array.from(Array(35), () => Array(35).fill(0));
                //0으로 채워진 35행 35열 생성
                  
                const DFS = (n,r) => {
                  if(dy[n][r]>0) return dy[n][r];
									//메모가 되어 있으면 바로 반환
                  if(n===r || r===0) return 1;
									//탈출 조건 n과r이 같거나 r이 0이면 무조건 1개 반환
                  else return dy[n][r]=DFS(n-1, r-1)+DFS(n-1, r);
									//메모를 하고 그것을 반환
                }
              
                answer = DFS(n,r);
                return answer;
            }

            console.log(solution(5, 3));
        </script>
    </body>
</html>