알고리즘
-
Algorithm Note
Dynamic Programming(DP) 알고리즘 - 동적프로그래밍, Python으로 푸는 피보나치
Dynamic Programming 큰 문제를 나누어 작은 문제로 푸는 것 하나의 문제는 단 한 번의 풀이만 한다. Dynamic Programming 과 Recursion(재귀)의 차이점 DP와 재귀는 얼핏보면 '같은 문제가 반복적으로 일어나는 점' 에서 비슷하다고 생각할 수 있다. 하지만, 큰 차이점은 일반적인 재귀를 단순히 사용하면 동일한 작은 문제들이 여러 번 반복 되어 비효율적인 계산될 수 있다는 것이다. 가장 대표적인 예시는 피보나치 함수이다. DP 조건 두 가지 조건을 만족해야 한다. 1. 같은 문제가 반복적으로 발생 2. 최적 부분 구조 동일한 작은 문제들이 반복적으로 일어날 때, 같은 문제는 항상 정답도 같다. 즉, 중복 사용이 가능하다. DP 문제 풀이 방법 모든 작은 문제는 한 번..
-
Algorithm Note
알고리즘 - Greedy (탐욕 알고리즘, 욕심쟁이 알고리즘), 최적해 찾기
Greedy Alogrithm Greedy는 사전적인 의미로 '탐욕스러운', '욕심많은' 이라는 뜻을 가지고 있다. 탐욕 알고리즘 또는 욕심쟁이 알고리즘 라고도 불린다. 미래를 생각하지 않고 선택의 순간마다 당장 눈앞에 보이는 최적의 선택을 하는 기법 각 단계에서 최선의 선택을 한 것이 전체적으로도 최선이길 바라는 알고리즘 그리디 알고리즘 해결 방법 선택 : 현재 상태에서 최적의 해답 선택 적절성 검사 : 선택된 답이 문제의 조건을 만족하는 지 확인 해답 검사 : 원래의 문제가 해결되었는지 검사하고, 해결되지 않았다면 선택 절차로 돌아가 위의 과정을 반복한다. 그리디 알고리즘 조건 그리디 알고리즘을 적용하기 위해서는 2가지 조건을 성립해야 한다. 1. 탐욕적 선택 속성 (Greedy Choice Prop..
-
Algorithm Note
알고리즘 - Stack, Queue (선형 큐, 원형 큐, 알고리즘 코드)
스택 '먼저 들어간 것이 나중에 나오는 자료구조' Last In First Out (LIFO) 구조이다. 스택은 배열과 연결 리스트로 나타낼 수 있다. 스택의 구성 - 상단 (top) : 스택에서 제일 나중에 입력된 데이터의 위치 - 하단 (bottom) : 스택에서 제일 먼저 입력된 데이터의 위치 - 요소 (element) : 스택에 저장되는 데이터 그 자체 - 공백 (empty stack) : 아무런 데이터도 갖고 있지 않은 스택 스택의 연산 push() : 스택에 데이터를 추가한다. pop() : 스택에서 데이터를 삭제한다. is_empty(s) : 스택이 공백상태인지 검사한다. is_full(s) : 스택이 포화상태인지 검사한다. create() : 스택을 생성한다. peek(s) : 요소를 스택..
조회수가 많은 글
-
🤖 Computer Vision
컴퓨터 비전 영상처리 - 컬러 Color (HSV, HSB, HSI모델), 실습 코드 C언어, C++
이론 2023.08.29 - [🤖 Computer Vision] - 컴퓨터 비전 영상처리 - 컬러 Color (RGB, CIE, CMY, YCbCr, HSI, HSV 모델), 실습 코드 Python, openCV 컴퓨터 비전 영상처리 - 컬러 Color (RGB, CIE, CMY, YCbCr, HSI, HSV 모델), 실습 코드 Python, openCV Color 색상 : 색의 명칭, 색의 특성 명도 : 밝은 정도를 나타냄 채도 : 색이 선명하거나 탁한 정도를 나타냄 RGB 삼중 자극 이론 원추세포는 파장 630nm, 530nm, 450nm에 가장 민감하게 반응한다. 빛의 삼 mcrkgus.tistory.com HSV 모델 C언어 코드 전체 코드 : https://github.com/mcrkgus/Co..
-
🤖 Computer Vision
컴퓨터 비전 영상처리 - (팽창, 침식, 열기, 닫기) openCV Python 코드
2023.07.31 - [Computer Vision] - 영상처리 - 이진 모폴로지, 명암 모폴로지 (팽창, 침식, 열기, 닫기) 영상처리 - 이진 모폴로지, 명암 모폴로지 (팽창, 침식, 열기, 닫기) 영상처리에서 모폴로지란 ? 영상의 형태와 구조를 분석하고 처리하는 기술로서, 영상 내의 객체나 특정한 패턴을 찾고 수정하는 데 사용된다. 주로 이진화된 영상에서 객체의 형태, 크기, 경계 mcrkgus.tistory.com 이전에 작성한 이진 모폴로지와 명암 모폴로지에서 사용하는 팽창, 침식, 열기, 닫기 에 대한 코드이다. openCV를 사용했다. Code img = cv2.imread('roopy.jpg', cv2.IMREAD_GRAYSCALE) 파일로부터 이미지를 로드하고, 그레이스케일로 변환하여..
-
iOS
[iOS - Network] iOS에서 서버 통신 하는 방법 (URL Session, Alamofire, Moya)
서버 통신이란?💡 클라이언트(프론트엔드)와 서버(백엔드)가 서로 데이터를 주고 받는 것 개인 프로젝트 같은 경우에는 많아봤자 10개 정도의 데이터를 다루기 때문에 Dummy를 활용해서 넣을 수 있지만, 날씨 앱을 예시로 들면 전국의 지역별 날씨, 시간대별, 강수확률, 최고 온도, 최저 온도 등등…. 너무 많은 데이터들을 dummy로 다루는 건 불가능한 일이다. 때문에, 클라리언트에서 필요한 정보가 있을 때마다 서버에게 요청을 하고, 서버는 그 요청에 맞는 데이터를 클라이언트에게 전달하는 과정을 거친다. 이를 서버 통신이라고 한다. iOS에서는 대표적으로 URLSession, Alamofire, Moya로 서버 통신을 할 수 있다.URL Session💡 - Swift에서는 URLSession을 이용하..
-
ADsP
ADsP (데이터분석 준전문가) 39회 복기, 후기
10월 21일 토요일에 응시한 ADsP (데이터분석 준전문가) 자격증 후기를 남기려고 한다. 공부를 미루고 미루다가 시험일 기준 9시간 전부터 제대로 된 벼락치기를 시작했다 ... ㅎㅎ 나는 따로 교재는 사지 않았고 구글에 돌아다니는 자료들을 참고해서 공부했다!! 1, 2과목은 문제 출제 유형을 파악해 좋은 결과를 받은 것 같고 3과목은 공부도 제대로 못 했을뿐더러 비교적 제일 어려운 파트였기에... 아직 합격은 잘 모르겠지만 ... ㅋㅋㅋ 내 머리에서 떠나기 전에 빠르게 39회 복기를 해보겠다!!! 1과목 1. 빅데이터의 발전 순서를 묻는 문제 💡digitalization - connect - agency 2. 빅데이터 틀린것은? 💡중앙집중식 발전 3. DISW 단계 💡정보 information 4. ..
-
ADsP
[ADsP 데이터분석 준전문가] - 핵심 내용 요약 정리 (4) - PART 4. 데이터 분석 기획
[데이터 분석 기획 - 1. 분석 과제 정의] 1. 분석 기회 발굴 분석 기회 : 기업의 전사 또는 개별 업무별 의사 결정 포인트에 활용할 수 있는 분석 후보 접근 방식 톱다운 (Top-Down) 방식 : 비즈니스 모델로부터 경쟁력 향상을 도모할 수 있는 분석 기회를 발굴하고 전사 분석 체계 구현을 위한 거버넌스 체계 전반을 다룬다. 보텀업 (Bottom-Up) 방식 : 주제별 분석 기회를 구현 분석 기회 발굴을 위한 3가지 방법 비즈니스 모델 분석을 통한 Top Down 방식 : 기업의 비즈니스 모델을 분석하여 경쟁력 강화를 위한 핵심 분석기회 식별 대상 프로세스 선정, 분석을 통한 Bottom Up Path Finding 방식 : 특정 대산 프로세서를 선정한 후 주제별로 분석기회를 식별 분석 유즈케이..