전체 글
-
블랜딩 모드포토샵 2020. 11. 8. 19:29
핵심 요약 블렌딩 모드에는 크게 1.불투명 합성 2.어둡게 합성 3.밝게 합성 4.겹쳐 보이게 합성 5.다양한 방법의 합성 이렇게 다섯 종류로 나눌 수 있습니다. 그 중 자주 사용하는 4개. Mulitply – 두 레이어를 혼합하는 과정에서 서로 곱해 어둡게 하고 채도를 높이는 효과입니다. 어두운 부분은 더욱 어두워지며, 밝은 부분은 그대로 보임 Screen – 밝은 부분만 곱하여 전체적으로 이미지가 밝아집니다. 스크린에 비친 듯한 느낌을 연출할 수 있습니다. 검은색을 투명하게 처리하기 때문에 어두운 배경 이미지 합성할 때도 자주 사용 Overlay – 이미지 색상에 따라 Multiply나 Screen 모드가 적용됩니다. 전체적으로 콘트라스트(대비)가 올라가게 됩니다. 흐릿한 사진도 생기있게 바꿔줌. C..
-
최단 경로 알고리즘 이해자료구조와 알고리즘 2020. 11. 4. 12:52
1. 최단 경로 문제란? 최단 경로 문제란 두 노드를 잇는 가장 짧은 경로를 찾는 문제임 가중치 그래프 (Weighted Graph) 에서 간선 (Edge)의 가중치 합이 최소가 되도록 하는 경로를 찾는 것이 목적 최단 경로 문제 종류 단일 출발 및 단일 도착 (single-source and single-destination shortest path problem) 최단 경로 문제 그래프 내의 특정 노드 u 에서 출발, 또다른 특정 노드 v 에 도착하는 가장 짧은 경로를 찾는 문제 단일 출발 (single-source shortest path problem) 최단 경로 문제 그래프 내의 특정 노드 u 와 그래프 내 다른 모든 노드 각각의 가장 짧은 경로를 찾는 문제 따지고 보면 굉장히 헷깔릴 수 있으므..
-
탐욕 알고리즘자료구조와 알고리즘 2020. 11. 3. 12:25
탐욕 알고리즘의 이해 1. 탐욕 알고리즘 이란? Greedy algorithm 또는 탐욕 알고리즘 이라고 불리움 최적의 해에 가까운 값을 구하기 위해 사용됨 여러 경우 중 하나를 결정해야할 때마다, 매순간 최적이라고 생각되는 경우를 선택하는 방식으로 진행해서, 최종적인 값을 구하는 방식 2. 탐욕 알고리즘 예 문제1: 동전 문제 지불해야 하는 값이 4720원 일 때 1원 50원 100원, 500원 동전으로 동전의 수가 가장 적게 지불하시오. 가장 큰 동전부터 최대한 지불해야 하는 값을 채우는 방식으로 구현 가능 탐욕 알고리즘으로 매순간 최적이라고 생각되는 경우를 선택하면 됨 coin_list = [1, 100, 50, 500] print (coin_list) coin_list.sort(reverse=Tr..
-
깊이 우선 탐색자료구조와 알고리즘 2020. 11. 2. 20:34
깊이 우선 탐색 (Depth-First Search) 1. BFS 와 DFS 란? 대표적인 그래프 탐색 알고리즘 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (Depth First Search): 정점의 자식들을 먼저 탐색하는 방식 BFS/DFS 방식 이해를 위한 예제 BFS 방식: A - B - C - D - G - H - I - E - F - J 한 단계씩 내려가면서, 해당 노드와 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 순회함 DFS 방식: A - B - D - E - F - C - G - H - I - J 한 노드의 자식을 타고 끝까지 순회한 후, 다시 돌아와서 다른 형제들의 자식을 타고 ..
-
너비 우선 탐색자료구조와 알고리즘 2020. 11. 2. 13:11
너비 우선 탐색 (Breadth-First Search) 1. BFS 와 DFS 란? 대표적인 그래프 탐색 알고리즘(특정 노드를 찾아가는 기법 2가지) 너비 우선 탐색 (Breadth First Search): 정점들과 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 탐색하는 방식 깊이 우선 탐색 (Depth First Search): 정점의 자식들을 먼저 탐색하는 방식 BFS/DFS 방식 이해를 위한 예제(사이클이 없는 그래프에서 탐색하는 방법) BFS 방식: A - B - C - D - G - H - I - E - F - J 한 단계씩 내려가면서, 해당 노드와 같은 레벨에 있는 노드들 (형제 노드들)을 먼저 순회함 DFS 방식: A - B - D - E - F - C - G - H - I - J 한 ..
-
그래프 이해자료구조와 알고리즘 2020. 11. 2. 12:52
알고리즘중 가장 난이도가 높다. 복잡하긴 하지만 그래프가 실세계 현상을 코드로 옮겨놓은 부분들이 있어서 흥미롭다. 그래프 이해 1. 그래프 (Graph) 란? 그래프는 실제 세계의 현상이나 사물을 정점(Vertex) 또는 노드(Node) 와 간선(Edge)로 표현하기 위해 사용예제 집에서 회사로 가는 경로를 그래프로 표현한 예 2. 그래프 (Graph) 관련 용어 노드 (Node): 위치를 말함, 정점(Vertex)라고도 함 간선 (Edge): 위치 간의 관계를 표시한 선으로 노드를 연결한 선이라고 보면 됨 (link 또는 branch 라고도 함) 인접 정점 (Adjacent Vertex) : 간선으로 직접 연결된 정점(또는 노드) 참고 용어 정점의 차수 (Degree): 무방향(간선에 화살표가 없는것)..
-
순차탐색자료구조와 알고리즘 2020. 11. 1. 15:33
1. 순차 탐색 (Sequential Search) 이란? 탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해서 원하는 데이터를 찾는 방법 프로그래밍 연습 임의 리스트가 다음과 같이 rand_data_list로 있을 때, 원하는 데이터의 위치를 리턴하는 순차탐색 알고리즘 작성해보기 - 가장 기본적인 방법이므로, 직접 작성해보겠습니다. - 원하는 데이터가 리스트에 없을 경우 -1을 리턴 # 데이터 준비: data_list 10개 만들기 from random import * rand_data_list = list() for num in range(10): rand_data_list.append(randint(1, 100)) def search(l..
-
(분할 정복) 이진 탐색자료구조와 알고리즘 2020. 11. 1. 15:22
탐색 알고리즘2: 이진 탐색 (Binary Search) 1. 이진 탐색 (Binary Search) 이란? 탐색할 자료를 둘로 나누어 해당 데이터가 있을만한 곳을 탐색하는 방법 기본 조건은 데이터가 정렬되어 있어야 한다. 다음 문제를 먼저 생각해보자 이진 탐색의 이해 (순차 탐색과 비교하며 이해하기) [저작자] by penjee.com 이미지 출처 2. 분할 정복 알고리즘과 이진 탐색 분할 정복 알고리즘 (Divide and Conquer) Divide: 문제를 하나 또는 둘 이상으로 나눈다. Conquer: 나눠진 문제가 충분히 작고, 해결이 가능하다면 해결하고, 그렇지 않다면 다시 나눈다. 이진 탐색 Divide: 리스트를 두 개의 서브 리스트로 나눈다. Comquer 검색할 숫자 (search) ..