PYTHON/개념정리 (4) 썸네일형 리스트형 [DFS] 재귀 완벽히 이해하기 학습 내용코딩테스트에서 자주 등장하는 DFS/BFS를 이해하기 전 재귀에 대해 알아보고자 한다내가 이해할 수 있을 만큼 쉽게 설명해보고자 한다 재귀자기 자신을 다시 호출하는 함수 재귀함수 예제팩토리얼 예제# 반복적으로 구현한 n!def factorial_iterative(n): result = 1 # 1부터 n까지의 수를 차례대로 곱하기 for i in range(1, n+1): result *= i return result# 재귀적으로 구현한 n!def factorial_recursive(n): if n 최대 공약수 계산 (유클리드 호제법) 예제유클리드 호제법두 자연수 A, B에 대하여 (A > B) A를 B로 나눈 나머지를 R이라고 하자이때 A와 B의 최대공약.. 정렬 학습내용정렬에 대한 내용을 전체적으로 정리해보고자 한다정렬 관련해서 코드 필요할 때 들어와서 확인하는 용도 다중 정렬def multisort(xs, specs): for key, reverse in reversed(specs): xs.sort(key=attrgetter(key), reverse=reverse) return xsmultisort(list(student_objects), (('grade', True), ('age', False))) 다중 정렬 문제 예시문제를 통해 이해하는 것이 더 쉬울 것 같아 문제를 추가한다 [백준] 국영수https://yeonco.tistory.com/31 파이썬 정렬 관련 참고 링크https://docs.python.org/ko/3/howt.. [Greedy] 그리디 가장 좋은 것만 선택하는 그리디‘현재 상황에서 지금 당장 좋은 것만 고르는 방법’매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음‘가장 큰 순서대로’, ‘가장 작은 순서대로’와 같은 기준을 제시정렬 알고리즘과 짝을 이뤄 출제 그리디 알고리즘의 정당성대부분의 문제는 그리디 알고리즘을 통해 최적의 해를 찾을 수 없다문제 풀이를 위한 최소한의 아이디어를 떠올리고 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다. 출처이것이 코딩테스트다 [DFS/BFS] DFS, BFS 그래프 탐색 알고리즘 : DFS/BFS코딩 테스트에서 반드시 출제 되는 유형임 기본적으로 알아야 하는 배경지식스택 자료구조재귀https://yeonco.tistory.com/35 재귀 완벽히 이해하기학습 내용코딩테스트에서 자주 등장하는 DFS/BFS를 이해하기 전 재귀에 대해 알아보고자 한다내가 이해할 수 있을 만큼 쉽게 설명해보고자 한다 재귀자기 자신을 다시 호출하는 함수 재귀함수yeonco.tistory.com DFS (Depth First Search, 깊이 우선 탐색)어떤 노드에서 시작해서 답을 찾을 때까지 갈 수 있는 인접 노드가 존재한다면 그 노드로 탐색을 반복계속해서 깊게 파고 내려가다가 더 이상 진행할 인접 노드가 없다면 올라와서 또 다시 다른 인접 노드로 탐색스택 또는 재귀함수로 구현# .. 이전 1 다음