일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dfs
- 강화학습
- DP
- BFS
- Python
- IN
- machine learning
- 백준
- edge detection
- sklearn
- 그래프 이론
- C++
- exists
- MySQL
- canny edge detection
- SIFT
- clustering
- Reinforcement Learning
- 딥러닝
- AlexNet
- opencv
- 인공지능
- Mask Processing
- dynamic programming
- MinHeap
- image processing
- TD
- 머신러닝
- classification
- 자료구조
- Today
- Total
목록전체 글 (118)
JINWOOJUNG
GUI 구성할 일이 생겨서 다양한 tool을 찾아보다가 PyQt와 OpenGL을 발견했다. PyQt의 경우 많은 데이터를 다루는데 있어서 로딩 속도나 데이터 처리가 어려움이 있다고 박사님께 들어서 라이다 데이터의 경우 많으면 몇억개기 때문에 OpenGL을 선택했다. OpenGL에 대한 정보가 많이 나와있지는 않아서 여러 Github와 tutorial을 기반으로 개발하고자 한다. 구글링 하다가 Learn OpenGL-Graphics Programming PDF를 건지게 되서 이거 기반으로 예제 코드 및 GUI 개발 공부를 진행할 예정이며, 관련 예제 코드는 깃허브에 올라와 있으니 참고 하면 될 것 같다. https://github.com/JoeyDeVries/learnopengl GitHub - JoeyD..
접근법 단순히 현재 노드의 부모를 찾는거기 때문에, dfs(),bfs()없이 단순하게 해결할 수 있을 것 같아서 아래와 같이 접근했다. import sys N = int(input()) visited = [0] * (N+1) visited[1] = 1 for _ in range(N-1): x, y = map(int,sys.stdin.readline().split(" ")) if visited[x] != 0: visited[y] = x else: visited[x] = y for i in range(2,N+1): print(visited[i]) 입력받는 두 수 중 하나는 무조건 이전에 언급된 노드여야 루트가 1인 트리를 형성할 수 있다. 따라서 입력받음과 동시에 두 수 중 방문되었던 노드가 있다면 다른 노..
본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Before This Episode https://jinwoo-jung.tistory.com/16 Bellman Optimality Equation 본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Before This Episode jinwoo-jung.tistory.com $S,A,P,R,\gamma$가 주어진 MDP에서 최적의 pol..
접근법 기존의 dfs에서 대각선을 탐색하는 경우의 수를 추가해 줘야 하며, "0 0"을 입력받기 전까지 반복해야 함으로 반복할 때 마다 전체 그래프와 cnt를 초기화 해 줘야 한다. 따라서 dfs()의 parameter에 전체 그래프도 추가되어야 한다. 정답 import sys sys.setrecursionlimit(10**6) di = [0,0,-1,1,1,1,-1,-1] dj = [1,-1,0,0,1,-1,1,-1] def dfs(i, j, Map): Map[i][j] = 0 for k in range(8): I = i+di[k] J = j+dj[k] if 0
본 게시글은 인하대학교 유상조 교수님의 Machine Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Classification(분류) : 구별되는 클래스를 예측하는 작업 Regression(회귀) : 실수값/연속적인 값(continuous qunatity)을 예측하는 작업 Linear Regression Linear Regression은 하나 혹은 다수의 Input(explanatory/independent variables)와 Output(a scalar response/dependent variable)의 상관관계를 모델링하는 것이다. 이때 Input Data는 다음과 같이 정의된다. $$x^i = [..
접근법 dfs를 활용하여 접근하였고, 방문하지 않은 노드에 대하여 dfs를 적용한다면, 연결된 노드들을 방문하고 만약 연결이 안된 다른 그룹이 있다면, 연결 요소의 개수를 증가시키고 다시 dfs를 적용시키면 된다. 정답 import sys sys.setrecursionlimit(10**9) M, N= map(int, sys.stdin.readline().split()) visited = [False]*(M+1) graph = [[]for _ in range(M+1)] for _ in range(N): x, y = map(int, sys.stdin.readline().split()) graph[x].append(y) graph[y].append(x) def dfs(start): visited[start] ..
접근법 처음에는 N으로 입력값은 높이에 대한 안전 영역 을 계산하였지만 문제를 잘못 접근 한 것이었다. 높이가 최소인 1부터, 각 위치의 높이가 쵀대인 값 까지 모두 고려하였을 때, 안전 영역이 최대가 되는 경우를 생각해야 한다. 즉 높이가 1부터 최대로 H까지 존재한다면,1~H 이하인 지점을 모두 잠기게 만드는 상황을 고려해야 한다. 만약 H이하인 경우 모두 잠기기 때문에 1~H-1까지 고려해서 최대인 안전 영역 을 계산하면 된다. dfs()로 접근하여 해결하였으며, 여러번 계산해야 하므로 할때마다 방문한 위치를 표시하기 위한 변수 visited와 안전 영역 의 개수인 cnt를 초기화 한다. 정답 import sys sys.setrecursionlimit(10**9) N = int(input()) la..
본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Before This Episode https://jinwoo-jung.tistory.com/14 Markov Decision Process(MDP) 본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Before This Episode jinwoo-jung.tistory.com 지난 시간에 Bellman Expected Equation을 ..