묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
BOJ 10870 문제 질문드립니다.
섹션 2의 재귀함수 이해하기 파트에서 풀이 1에서n을 입력하는 것과 0,1의 값을 정해주는 것 그리고 for문의 형식까지는 이해했습니다.하지만 arr = [-1] * (n + 2)가 주석을 봐도 어떤 것을 의미하는지 잘 모르겠습니다
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
sumArray()재귀함수 이해가 안됩니다!
sumArray 함수에서 return 값인sumArray(arr.slice(0, -1)) + arr[arr.length - 1] 구문이 이해가 잘 안되는데arr.slice(0, -1) 은 [1, 2, 3, 4]이고arr[arr.length - 1]은 5인데[1, 2, 3, 4] + 5 값으로는 1, 2, 3, 4, 55 나와야 되는게 아닌가요??어째서 sumArray([1, 2, 3, 4])를 줬다고 해서1 + 2 + 3 + 4 가 되는 지 모르겠습니다.만약 그렇게 되려면 아래 같은 로직이라고 있어야되는거 아닌가요?? let plus = 0; arr.forEach(el => { plus += el });도저히 이해가 안되네요 도와주시면 감사하겠습니다!!
-
미해결홍정모의 따라하며 배우는 C++
피보나치 수열 연습문제 풀이과정입니다.
수열의 점화식을 재귀함수로 만들 수 있는 건 정말 신기하네요!! 인덱싱을 고려해서 0부터 출력해보았습니다그런데 궁금한 것이 있습니다. 재귀함수도 함수의 일종이니까 값의 복사를 방지하기 위해 매개변수에 const int&를 넣어도 무방하나요?항상 양질의 강의를 제공해주셔서 감사합니다 :)
-
해결됨
재귀함수 관련 질문
f(4)일 때 int f(int n) { printf('%d',n); if(n==0) return 0; else if (n==1) return 1 else return (f(n-1) + f(n+2); } print 되는 숫자가 4,3,2,1,0,1,2,1,0 이라고 나와있습니다. 왜 n의 값이 저렇게 프린트 되는지 잘 이해가 되지 않습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
재귀함수 답 질문
안녕하세요 강사님. 좋은 강의 잘 듣고 있습니다! 몇가지 궁금증이 생겨 질문드립니다. static int Factorial(int a) { if (a == 0) { return 1; } return (a * Factorial(--a)); } 제가 작성한 코드입니다. 정상적으로 실행은 됩니다만, 몇가지 사소한 궁금증이 있어서 올려봅니다. 1. a==0이 참일때 return 값을 1으로 주는 것보다 n==1이 참일때 return 값을 1로 주는게 더 효율적일까요?(루프를 한번 덜 돌까요?) 2. 강사님께서 if문의 조건식을 n<=1로 작성하셨던데 n==1이 아니고 n<=1로 설정하신 이유가 따로 있을까요? 3. factorial(n-1)부분을 전위 연산자(--a)로 먼저 처리하게 하였는데, 후위연산자를 사용하여 return (a*Factorial(a--))로 하면 return (a*Factorial(a))가 먼저 실행되고 a--가 실행되기 때문에 무한루프를 돈다고 이해했는데 맞을까요? 아니라면 혹시 다른 이유가 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
트리 - GetHeight 함수..
안녕하세요 늘 강의 잘 듣고 있습니다. GetHeight함수 관련해서.. foreach 내부에 height = Math.Max(height, newHeight); 으로 큰 값을 height에 저장한다고 하셨잖아요, 그렇지만 결국 재귀함수를 계속해서 불러내는 과정에서 최초 int height = 0; 에 의해 값을 몇을 넣어놨던지간에 결국 마지막에 가서는 0으로 초기화가 될 테고 마지막 subtree, 즉 이 경우에는 "아트팀" 의 height 만 반영이 되는 것이 아닌가요? (근데 또 돌려보면 2가 나오는 것은 신기...) 재귀함수 내부에서 계속해서 height를 초기화해대고 있는데 어떻게 height 가 계속 값을 들고 있을수가 있는건지 이해가 안 됩니다. 도와주세요 ㅠㅠ!