전체 글
-
다익스트라 알고리즘-개념1알고리즘 2022. 6. 5. 23:03
최단경로 알고리즘의 종류 1. 다익스트라 알고리즘 2. 벨만-포드 알고리즘 3. 플로이드-워셜 알고리즘 다익스트라 알고리즘이란 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색 알고리즘이다. 흔히 인공위성 GPS 소프트웨어에서 가장 많이 사용 되는데, 이는 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려주기에 주로 사용된다. 다익스트라 알고리즘의 동작 단계 1. 출발 노드와 도착 노드를 설정한다. 2. '최단 거리 테이블'을 초기화한다. 3. 현재 위치한 노드의 인접 노드 중 방문하지 않은 노드를 구별하고, 방문하지 않은 노드 중 거리가 가장 짧은 노드를 선택한다. 그 노드를 방문 처리한다. 4. 해당 노드를 거쳐 다른 노드로 넘어가는 간선 비용(가중치)을 계산해 '최단 거리 테이블'을 업..
-
이미지 스캐너프로젝트 2022. 3. 3. 20:32
안면인식 프로그램에 이어 이미지 스캐너입니다. https://pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/ How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes - PyImageSearch Building a document scanner with OpenCV can be accomplished in just three simple steps: Step 1: Detect edges. Step 2: Use the edges in the image to find the contour (outline) representing the piece ..
-
백준 - 문자열 반복알고리즘 2022. 2. 9. 00:20
문제의 문제 소스코드와 TMI n = int(input()) for _ in range(n): cnt, word = input().split() for x in word: print(x*int(cnt), end='') print() 그냥 cnt, word 둘다 str로 받아오면 되는 문제였다 word(ABC)에서 cnt(반복할 횟수)를 곱하면 ABC라는 word가 3번 곱해져 ABCABCABC 로 출력될줄 알았는데, 순수하게 AAABBBCCC 로 결괏값이 나오는 걸 확인 할 수 있었다. 내가 뻘짓을 했었군아,,,,,,,
-
Python 알고리즘 (몰랐던 개념 정리1)알고리즘 2022. 1. 28. 15:35
1차원 배열에 관한 알고리즘을 해결하다가 몰랐던 개념들이 나와서 이를 정리 해놓으려고 한다. 1. input()으로 받아온 수 많은 값들을 List에 넣어 저장하고 싶을 때 N = 5 # 배열생성 list = [] for i in range(N) : list.append(input()) print(list) 2. append 예제 코드 >>> exam = [1, 2, 3, 5] >>> exam.append(6, 7) > [1, 2, 3, 4] append 뒤 ()안에 6과 7을 넣어주었더니 결괏값 List에 6, 7이 포함되어 나오는 것을 볼 수 있습니다. 3. List의 문자열을 정수 형태로 변환하고 싶을 때 a = list(map(int, a)) map은 배열 안에 있는 값들의 자료형을 변환해주는 역..
-
Dictionary [사전]Python 2022. 1. 26. 00:12
딕셔너리란? Key와 Value의 쌍 여러 개가 { }로 둘러싸여 있다. 각각의 요소는 Key : Value 형태로 이루어져있다. ※ Key에는 변하지 않는 값을 사용하고, Value에는 변하는 값과 변하지 않는 값 모두 사용할 수 있다. 딕셔너리의 가장 큰 특징은 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는 점이라는 것이다. 딕셔너리의 코드와 설명 cabinet = {3: "유재석", 100: "김태호"} 위 코드는 딕셔너리의 코드이다. 그럼 한번 코드를 분석해보자. Key는 각각 '3', '100' 이고, 각각의 Key에 해당하는 Value는 '유재석', '김태호' 가 된다. 좀 더 이해하기 쉽도록 표를 통해서 알아보자. cabinet ..
-
배열에 관한 속성들 [LIST]Python 2022. 1. 25. 23:35
※ 기본 배열 값 subway = ["유재석", "조세호", "박명수"] subway 배열에 유재석, 조세호, 박명수의 값이 들어가 있다고 가정을 하고 시작해보겠습니다. 1. subway 변수에 "하하"라는 인물도 추가를 하고 싶을때 subway.append("하하") print(subway) ※ append() 란? - 배열 안에 다른 값을 추가하는 것 2. subway 변수에 "정형돈" 이라는 인물을 유재석과 조세호 사이에 추가하고 싶을 때 subway.insert(1, "정형돈") print(subway) ※ insert(1, "정형돈") 이란? - 1번째 index값 안에 정형돈이라는 인물을 배열에 추가한다. 3. subway 변수에 속해있는 값 중 뒤에 있는 값을 삭제하고 싶을 때 print(s..
-
머신러닝 - 1인공지능 2022. 1. 12. 01:06
( 생활코딩의 머신러닝 강의를 기반으로 작성하였음을 알립니다. ) 손톱을 물어뜯는 습관이 있다고 생각을 해봅시다. 손톱을 물어뜯는 습관을 고치기 위해 우리가 할 수 있는 방법이 무엇이 있을까요? 의지가 많으면 된다? 혹은 테이프로 손톱 부분을 칭칭 감아놓는다? 물론 이 두 방법도 맞긴합니다. 하지만 이럴 때 우리는 "머신러닝" 이라는 기계학습을 사용하면 어떨까요? "에이, 컴퓨터 스킬 중 하나인 기계학습으로 어떻게 인간의 습관을 고쳐" 라고 생각하시는 분들도 계실겁니다. 맞습니다. 아무리 4차산업혁명 이라고 하지만 기계학습을 통해 완벽히 습관을 고칠 순 없습니다. 그치만, 습관을 고칠 수 있도록 옆에서 도와주는 역할은 가능할 것 같습니다! 머신러닝 머신러닝이 무엇인가? 머신러닝이 무엇일까요? 머신러닝이 ..
-
Python - 안면인식(OpenCV)프로젝트 2021. 10. 15. 20:19
Harr Feature Haar Cascade Classifier opencv 에서는 haar feature를 이용한 얼굴인식 코드를 제공합니다. haar cascade classifier는 영상을 windowing 하면서 haar feature들을 순차적으로 여러 stage로 검사하여 face가 아니면 이후는 보지도 않고 버려 버린다. 모든 feature를 연산할 필요가 없으므로 연산량이 대폭 줄어든다 학습하기 OpenCV는 인텔이 개발한 이미지 프로세싱에 중점을 둔 라이브러리 입니다. OpenCV에서 제공하는 harr cascade를 통해 손쉽게 코드로 구현할 수 있습니다. 라이브러리 내에 xml파일이 있기 때문에 따로 다운받지 않아도 된다는 장점이 있습니다. OpenCV로 할 수 있는 것 윤곽선 검..