⛹️ 라이프

    [코독하구만 팀] 2021.01.13(수) - 4주차 개인 결과

    - 목표 - codekodo.tistory.com/26 [코독하구만 팀] 2021.01.13(수) - 4주차 개인 목표 목표 : 최단 경로를 탐색하는 알고리즘인 다익스트라 알고리즘의 개념을 정리하고 관련된 실습 문제 3문제를 풀어본다. 이후 백준에서 관련된 문제를 풀어봄으로써 이를 응용하는 법까지 학습 codekodo.tistory.com 다익스트라란? 최단 경로를 탐색하는 알고리즘의 한 종류로 정점들 사이의 가중치를 비교하는 과정을 통해 최단 경로를 탐색한다. 해당 그림에서 정점과 간선의 가중치를 표로 나타내면 다음과 같다. 특정 행에서 특정 열로 이동할 때 발생하는 가중치를 나타낸 표이다. 인접하지 않은 경우 INF, 방향성에 의해 도달할 수 없을 때는 X로 나타내었다. A(여기로) B C D E F..

    [코독하구만 팀] 2020.01.13(수) - 4주차 모임 목표

    [코독하구만 팀] 2020.01.13(수) - 4주차 모임 목표 고도현 - 최단 경로를 탐색하는 알고리즘인 다익스트라 알고리즘의 개념을 정리하고 실습 문제를 풀어본다. 이후 백준에서 관련된 문제를 풀어봄으로써 이를 응용하는 법까지 학습한다. 신희승 - 3회차에 공부했던 Dynamic Programmin(동적 계획법)을 이용하여 백준 알고리즘 문제를 풀어보며 개념을 확립시킨다. 이동헌 - 위상정렬에 대해 복습하고 관련된 예제를 풀어보도록 한다. 최현석 - Greedy 알고리즘을 복습하고 예제를 통해 적용한다. 고도현 - codekodo.tistory.com/26 신희승 - ciwekdo.tistory.com/9 이동헌 - blog.naver.com/tortoise11/222206432603 최현석 - co..

    [코독하구만 팀] 2021.01.13(수) - 4주차 개인 목표

    - 목표 - 최단 경로를 탐색하는 알고리즘인 다익스트라 알고리즘의 개념을 정리하고 관련된 실습 문제 3문제를 풀어본다. 이후 백준에서 관련된 문제를 풀어봄으로써 이를 응용하는 법까지 학습한다. 1. 다익스트라 방향 가중치 그래프의 노드와 엣지가 주어졌을 때 방향 가중치 그래프를 그리고, 질의 노드 사이의 최단 거리 엣지 경로를 출력하시오. [입력 값] 6 7 A B C D E F A B 10 A C 15 B D 12 B F 15 C E 10 D F 1 F E 5 A E [출력 값] A C 15 C E 10 2. 벨만 포드 음의 가중치가 있는 방향 가중치 그래프의 노드와 엣지가 주어졌을 때 방향 가중치 그래프를 그리고, 질의 노드 사이의 최단 거리 엣지 경로를 출력하시오. 만약, 무한 루프가 발생할 경우 ..

    [코독하구만 팀] 2021.01.05(화) - 3주차 모임 결과

    [코독하구만 팀] 2021.01.05(화) - 3주차 모임 결과 고도현 - LCA(Lowest Common Ancestor) 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 알고리즘 동작방식에 대해 알게 되었다. 실습에서 배운 방식으로 백준 문제를 접근하였지만 아직 풀지 못하였다. 다른 방식으로 LCA를 접근해보려고 한다. 신희승 - 동적 계획법을 이용하면 여러 작은 문제의 값을 저장해 놓기 때문에 문제를 반복해서 해결 할 필가 없어 불필요한 계산을 줄이고, 효율적으로 프로그래밍을 할 수 있다는 것을 할 수 있었다. 이동헌 - 시점과 종점이 주어졌을 때 최단 경로를 구하는 Dijkstra 알고리즘과 모든 vertex에 대해 최단 경로를 구하는 Floyd 알고리즘의 개념..

    [코독하구만 팀] 2020.01.05(화) - 3주차 개인 결과

    - 목표 - codekodo.tistory.com/12 [코독하구만 팀] 2021.01.05(화) - 3주차 개인 목표 목표 : LCA(Lowest Common Ancestor) 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 실습은 총 4문제로 알고리즘 수업 시간이 진행되었던 실습 문제이다. 1. root 찾기 codekodo.tistory.com LCA(Lowest Common Ancestor) 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 알고리즘 동작방식에 대해 알게 되었다. 실습에서 배운 방식으로 백준 문제를 접근하였지만 아직 풀지 못하였다. 다른 방식으로 LCA를 접근해보려고 한다. 1. root 찾기 def main():..

    [코독하구만 팀] 2020.01.05(화) - 3주차 모임 목표

    [코독하구만 팀] 2020.01.05(화) - 3주차 모임 목표 고도현 - LCA(Lowest Common Ancestor) 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 신희승 - Dynamic Programmin(동적 계획법)에 대해 이해하고 아래의 백준 알고리즘 문제를 풀어보며 개념을 확립시킨다. 이동헌 - 최단 경로를 찾는 Dijkstra algorithm의 개념을 복습하고 이와 관련된 예제를 풀어보며 응용 방법을 체화한다. 최현석 - 동적계획법 개념을 정리하고, 예제를 풀며 응용한다. / 웹 크롤링한 데이터를 리스트로 정리한다. 고도현 - codekodo.tistory.com/12 신희승 - ciwekdo.tistory.com/7 이동헌 - blog.naver..

    [코독하구만 팀] 2021.01.05(화) - 3주차 개인 목표

    목표 : LCA(Lowest Common Ancestor) 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 실습은 총 4문제로 알고리즘 수업 시간이 진행되었던 실습 문제이다. 1. root 찾기 이진 트리의 노드의 개수가 주어지고, 노드의 key와 자식들이 주어졌을 때 해당 트리의 root를 찾으시오. [입력 값] 6 # N D . . # 간선의 정보 N개 E . . F . . C F . B D E A B C [예상 출력] A 2. 트리 순회 이진 트리의 노드의 개수가 주어지고, 노드의 key와 자식들이 주어졌을 때 해당 트리의 Preorder/ Inorder / Postorder 순으로 순회하고 출력하시오. [입력 값] 6 # N D . . # 간선의 정보 N개 E ...

    [코독하구만 팀] 2020.12.30(수) - 2주차 모임 결과

    [코독하구만 팀] 2020.12.30(수) - 2주차 모임 결과 고도현 - prim 알고리즘과 kruskal 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 둘의 차이와 알고리즘 동작방식에 대해 확실하게 아는 계기가 되었다. 신희승 - 분할정복 알고리즘에 대해 공부하면서 하나의 큰 문제를 바로 해결하는 것이 아니라 작은 여려개의 문제로 분할하여 해결하는 것이 시간복잡도나 효율성 면에서 더 뛰어나다는 것을 알게 되었다. 이동헌 - Kruskal 알고리즘을 복습하면서 개념을 명확하게 정립할 수 있었고 수업 시간에서의 예제 이외의 문제를 접해봄으로써 개념적인 부분뿐만 아니라 응용 방법을 습득할 수 있었다. 최현석 - 알고리즘 예제를 풀며 시간과 메모리 비용을 줄이기 위해 메..

    [코독하구만 팀] 2020.12.30(수) - 2주차 개인 결과

    prim와 kruskal를 개념과 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 둘의 차이와 알고리즘 동작방식에 대해 확실하게 아는 계기가 되었다. - 목표 - codekodo.tistory.com/8 [코독하구만 팀] 2020.12.30(수) - 2주차 개인 목표 목표 : prim 알고리즘과 kruskal 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 실습은 총 3문제로 알고리즘 수업 시간이 진행되었던 실습 문제이다. 1. prim 알고 codekodo.tistory.com 1. prim 알고리즘 import heapq def prim(edges, vertices, n): queue = [] heapq.heappush(queue, [0, verti..

    [코독하구만 팀] 2020.12.30(수) - 2주차 모임 목표

    [코독하구만 팀] 2020.12.30(수) - 2주차 모임 목표 고도현 - prim 알고리즘과 kruskal 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 신희승 - 분할정복 알고리즘에 대해 이해하고 관련된 알고리즘 문제를 풀어보며 개념을 확립시킨다. 이동헌 - kruskal 알고리즘의 이론을 복습하고 Min-cost Spanning Tree를 찾는 프로그램을 구현한다 최현석 - 분할정복법 예제를 풀어보고, 지난 주 학습했던 시간복잡도를 예제에 적용해서 구해본다. / 웹크롤링 코드를 따라쳐보며 어떤 식으로 동작하는지 알아본다. 고도현 - codekodo.tistory.com/8 신희승 - ciwekdo.tistory.com/5 이동헌 - blog.naver.com/to..

    [코독하구만 팀] 2020.12.30(수) - 2주차 개인 목표

    목표 : prim 알고리즘과 kruskal 알고리즘 개념 및 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 실습은 총 3문제로 알고리즘 수업 시간이 진행되었던 실습 문제이다. 1. prim 알고리즘 무방향 가중치 그래프가 주어졌을 때 prim 알고리즘을 이용하여 MST를 구하고 그 에지의 합을 출력. (모든 노드가 연결되지 않아, MST가 없을 경우 0을 출력) 입력 값은 다음과 같이 주어진다. 7 12 # N, M A B C D E F G # 노드의 개수 N 개 A B 7 # 간선의 정보 M 개 C B 8 A D 5 C E 5 D B 9 E B 7 D E 15 E G 9 F G 11 E F 8 F D 6 E D 15 2. kruskal 알고리즘 무방향 가중치 그래프가 주어졌을 때 kr..

    [코독하구만 팀] 2020.12.23(수) - 1주차 모임 결과

    [코독하구만 팀] 2020.12.23(수) - 1주차 모임 결과 고도현 - BFS와 DFS를 개념과 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 둘의 차이와 알고리즘 동작방식에 대해 확실하게 아는 계기가 되었다. 신희승 - 이진 트리를 구현하면서 트리의 구조를 파악하였고 그래프를 만들어 DFS, BFS의 방법으로 탐색하는 방법을 연습할 수 있었다. 이동헌 - 다양한 형태로 그래프를 작성해보았고 이 그래프롤 통해 DFS, BFS의 방법으로 탐색하는 방법을 연습할 수 있었다. 최현석 - 웹 크롤링 기법을 학습하였더니, 다양한 오픈 API에서 크롤링을 해보고 싶단 생각이 들었다. 고도현 - codekodo.tistory.com/5 신희승 - ciwekdo.tistory.com/4 이동헌 ..

    [코독하구만 팀] 2020.12.23(수) - 1주차 개인 결과

    BFS와 DFS를 개념과 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해봄으로써 둘의 차이와 알고리즘 동작방식에 대해 확실하게 아는 계기가 되었다. 1. 이웃 노드 찾기 (그래프 기본) def main(): n, m = map(int, input().split()) node = list(input().split()) node_dict = dict() for i in range(n): node_dict[node[i]] = [] for i in range(m): srt, dst = input().split() if dst not in node_dict[srt]: node_dict[srt].append(dst) find_node = input() print(len(node_dict[find_node..

    [코독하구만 팀] 2020.12.23(수) - 1주차 모임 목표

    [코독하구만 팀] 2020.12.23(수) - 1주차 모임 목표 고도현 - DFS와 BFS를 개념과 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 신희승 - 트리와 그래프의 자료구조를 이해하고 연습 문제를 통해 개념을 확립시킨다. 이동헌 - 깊이우선탐색과 너비우선탐색을 복습하고 실습 문제를 통해 체화한다. 최현석 - 여러 알고리즘의 시간복잡도를 계산하여 처리속도가 우수한 알고리즘을 선별한다. 웹 크롤링이 무엇인지 알아본다. 고도현 - codekodo.tistory.com/4 신희승 - ciwekdo.tistory.com/3 이동헌 - https://blog.naver.com/tortoise11/222183985820 최현석 - coderhs.tistory.com/3 비공개처리

    [코독하구만 팀] 2020.12.23(수) - 1주차 개인 목표

    목표 : BFS와 DFS를 개념과 실습 문제를 복습하고 백준 문제를 통해 실제 문제에 적용해본다. 실습은 총 3문제로 알고리즘 수업 시간이 진행되었던 실습 문제이다. 1. 이웃 노드 찾기 (그래프 기본) 입력 값은 다음과 같이 주어진다. 4 4 # N M AA BB CC DD # 노드의 개수 N 개 AA CC # 간선 정보 M 개 BB DD AA BB BB AA AA # 질의 노드 2. BFS (너비 우선 탐색) 입력 값은 다음과 같이 주어진다. 12 11 # N M A B C D E F G H I J K L # 노드의 개수 N 개 A B # 간선 정보 M 개 A C A D B E B F D G D H E I E J G K G L A # 질의 노드 3. DFS (깊이 우선 탐색) - 위 그래프와 동일 4..