목록후기 (34)
개발자는 기록이 답이다

4. . 피보나치 재귀(메모이제이션) 예시 입력 1 10 예시 출력 1 1 1 2 3 5 8 13 21 34 55 피보나치 수열은 2가지 방법으로 풀 수 있습니다. 1. 배열로 for문 사용 2. 재귀로 풀기 둘중에 어떤게 성능이 더 좋은가? 당연히 1번이다. 재귀는 함수가 하나 호출될때마다 스택 프레임이 생겨서 메모리 낭비도 많이 되고 무거워서 성능이 더 안좋다. for문은 함수 하나를 만들었을 경우 스텍 프레임 하나만 가지고 돌기 때문에 그 안에서 지역변수, 배열만들어서 도는 것이다. 특정 항의 값을 리턴해주는 방법(피보나치 수열의 n번째 항만 리턴) 1. n은 몇번째 항인지를 의미한다. 2. 첫번째항과 두번째 항은 1을 리턴한다 3. 3번째 항부터 앞에 있는 2개 항을 더해준다. public cla..

3. 팩토리얼 예시 입력 1 5 예시 출력 1 120 내가 푼 풀이 public class Main { int answer = 1; public int DFS(int n) { if(n == 0) return 0; else { answer *= n; DFS(n - 1); } return answer; } public static void main(String[] args) { Main T = new Main(); System.out.println(T.DFS(5)); } } 강의 풀이 public class Answer { public int DFS(int n) { if (n == 1) return 1; else return n*DFS(n-1); } public static void main(String[]..

https://www.inflearn.com/course/lecture?courseSlug=%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84&unitId=72733&tab=curriculum 학습 페이지 www.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 2. 공통원소 구하기 예시 입력 1 5 1 3 9 5 2 5 3 2 5 7 8 예시 출력 1 2 3 5 내가 푼 풀이(Time: 794ms Memory: 35M) 입력받은 배열 2개를 오름차순으로 정리 해준 뒤, ..

https://cote.inflearn.com/contest/10/problem/03-01 OnlineJudge cote.inflearn.com (위의 링크는 인프런 로그인 후, 해당 강의를 사지 않으면 접속이 되지 않습니다) 1. 두 배열 합치기(two pointers algorithm) 예시 입력 1 3 1 3 5 5 2 3 6 7 9 예시 출력 1 1 2 3 3 5 6 7 9 내가 푼 풀이(Time: 168ms Memory: 27MB) 투 포인터라는 알고리즘을 몰라서, 내가 알고 있는 기존 방법으로 풀었다. 강의 내용을 보니, 당연히 이렇게 풀 순 있지만 매력적이지 않은 코드라고 한다. package TwoPointers_SlidingWindow.두_배열_합치기_two_pointers; import..