본문 바로가기

Data Structure & Algorithm8

동적 프로그래밍 (DP) 해결 방법 동적 프로그래밍 (DP) 해결 방법 Step 1 : n이 가장 작을 때부터 하나하나 그려가보면서 규칙성을 찾는다 Step 2 : 규칙성이 보이기 시작하면 일반화하고, 점화식을 구한다. Step 3 : 탑다운 or 바텀업 중 좀 더 편한 방법으로 구현 (물론 연습할 때는 둘 다 해보기) 탑다운의 필수 요구사항, 바텀업의 필수 요구사항 꼭 숙지하기 탑 다운 필수요구사항 1. 값이 한없이 작아지는 것을 방지하기 위한 탈출조건 (n이 0이거나 1 정도에서 return 하고 끊는 조건이 필요) 2. memoization (시간 초과 방지) 3. 과거의 상태값을 불러올 때는 인덱스를 이용한 배열 직접 접근보다는 재귀함수를 이용한다. Example) dp[n-1] (X) => solve(n-1) (O) 바텀 업 필수.. 2022. 2. 6.
그래프 구현과 DFS 탐색하기 (C) #include #include //인접행렬 만들기 int arr[100][100]; int allVisited(int* visited, int row) //모든 vertex가 방문되었다면 1을 반환, 그렇지 않다면 0을 반환 { int flag = 1; for (int i = 0; i < row; i++) { if (!visited[i]) flag = 0; } if (flag == 1) return 1; else return 0; } void dfs(int arr[][7], int* visited, int* stack, int top, int vertex, int row) { visited[vertex] = 1; printf("%d ", vertex+1); int i; for (i = 0; i < ro.. 2020. 5. 29.
파이썬으로 연결 리스트(Linked List) 구현해보기 class Node: def __init__(self, data, next = None): self.data = data self.next = next def init_list(): global node_A node_A = Node("A") node_B = Node("B") node_D = Node("D") node_E = Node("E") node_A.next = node_B node_B.next = node_D node_D.next = node_E def insert_node(data): global node_A new_node = Node(data) # 새로운 객체 생성 node_P = node_A node_T = node_A while node_T.data 2020. 3. 25.
python 을 활용한 자료구조와 알고리즘 공부 - (5) 이 필기내용은 프로그래머스 홈페이지의 어서와! 자료구조와 알고리즘은 처음이지? 강의를 들으면서 제가 필기한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? https://programmers.co.kr/learn/courses/57 어서와! 자료구조와 알고리즘은 처음이지? | 프로그래머스 × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. 한 단계 더 도약하고 싶은 비전공자 출신의 개발자, 또는 개발자 꿈나무 모두에게 추천하는 강의.한 손엔 파이썬, 한 손엔 자료구조와 알고리즘을 확실히 무기로 쥐세요. 어서와! 자료구조 & 알고리즘은 처음이지?프로그래머스에서 가장 사랑받는 T.. 2020. 3. 10.
python 을 활용한 자료구조와 알고리즘 공부 - (4) 이 필기내용은 프로그래머스 홈페이지의 어서와! 자료구조와 알고리즘은 처음이지? 강의를 들으면서 제가 필기한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? https://programmers.co.kr/learn/courses/57 어서와! 자료구조와 알고리즘은 처음이지? | 프로그래머스 × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. 한 단계 더 도약하고 싶은 비전공자 출신의 개발자, 또는 개발자 꿈나무 모두에게 추천하는 강의.한 손엔 파이썬, 한 손엔 자료구조와 알고리즘을 확실히 무기로 쥐세요. 어서와! 자료구조 & 알고리즘은 처음이지?프로그래머스에서 가장 사랑받는 T.. 2020. 3. 9.
python 을 활용한 자료구조와 알고리즘 공부 - (3) 이 필기내용은 프로그래머스 홈페이지의 어서와! 자료구조와 알고리즘은 처음이지? 강의를 들으면서 제가 필기한 내용입니다. 어서와! 자료구조와 알고리즘은 처음이지? https://programmers.co.kr/learn/courses/57 어서와! 자료구조와 알고리즘은 처음이지? | 프로그래머스 × 이 강의는 Python 기반으로 진행하므로 최소한 문법에는 익숙한 상태로 수강해야 합니다. 듣고는 싶은데, Python을 잘 모르나요? 이 무료 강의 부터 듣고 수강하세요. 한 단계 더 도약하고 싶은 비전공자 출신의 개발자, 또는 개발자 꿈나무 모두에게 추천하는 강의.한 손엔 파이썬, 한 손엔 자료구조와 알고리즘을 확실히 무기로 쥐세요. 어서와! 자료구조 & 알고리즘은 처음이지?프로그래머스에서 가장 사랑받는 T.. 2020. 3. 5.