분류 전체보기 387

백준 1806, 부분합, c++

처음에 작성한 코드는 다음과 같다. 이중for문이라 시간복잡도가 O(N^2), 최악의 경우엔 O(N^3)까지 나오는 코드이기 때문에 시간초과 오류가 발생했다. 이를 해결하기 위해서는 시간복잡도를 줄여야 했다. 아래 코드와 같이 반복문을 한번만 사용해 계산될 때까지 반복문이 계속 반복되도록 했다. 계산하면서 총 더한 sum의 값보다 주어진 S값이 크면 계속 반복문을 돌며 숫자를 더해나가고, S보다 sum이 커지는 순간 계산을 멈추고 현재까지 더한 수의 개수를 출력하는 방식이다.

백준 2024.01.25

백준 27866번: 문자와 문자열, c++

https://www.acmicpc.net/problem/27866 27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net - 문제 풀이 나는 문자열에 인덱스로 접근해 해당 문자를 출력하도록 문제를 해결했다. 하지만 substr(n-1,1)을 사용해 n-1번째 문자부터 1개를 출력하도록 하는 방법으로 해결할 수 도 있을 것 같다.

백준 2023.09.13

230626-230702 스터디

교재 16장 공부 - 16장 딥러닝과 OpenCV 16.1 딥러닝과 OpenCV DNN 모듈 - 다층 퍼셉트론(MLP, Multi-Layer Perceptron) 구조 에지의 가중치와 편향 값은 경사 하강법(gradient descent), 오류 역전파(error backpropagation) 등의 알고리즘에 의해 자동으로 결정할 수 있음 - Net 클래스 객체를 생성하여 네트워크를 구성하고, 생성된 네트워크에서 특정 입력에 대한 출력을 얻기 위해 필요한 일련의 OpenCV 함수 사용법 알아보기 - dnn 모듈에서 미리 학습된 딥러닝 모델을 불러와서 네트워크를 생성하고, 새로운 데이터를 이용하여 추론하는 방법에 대한 설명 16.2 딥러닝 학습과 O..

230626-230702 스터디

교재 15장 공부 - 15장 머신 러닝 15.1 머신 러닝과 OpenCV - 머신 러닝 주어진 데이터를 분석하여 규칙성, 패턴 등을 찾고, 이를 이용하여 의미 있는 정보를 추출하는 과정 - 지도학습 정답을 알고 있는 데이터를 이용하여 학습을 진행하는 방식 회귀, 분류에 주로 사용됨 - 비지도학습 훈련 데이터의 정답에 대한 정보 없이 오로지 데이터 자체만을 이용하는 학습 방식 주로 군집화에 사용됨 - OpenCV에서 제공하는 머신 러닝 클래스는 주로 ml 모듈에 포함됨 - cv::ml::StatModel 추상 클래스 15.2 k 최근접 이웃 - k 최근접 이웃(kNN, k-Nearest Neighbor) 알고리즘 특징 공간에서 테스트 데이터와 가장 ..

230626-230702 스터디

교재 13, 14장 공부 - 13장 객체 검출 13.1 템플릿 매칭 - 템플릿 매칭: 입력 영상에서 작은 크기의 부분 영상 위치를 찾아내고 싶은 경우 사용 - 템플릿 영상을 입력 영상 전체 영역에 대해 이동하면서 템플릿 영상과 입력 영상 부분 영상과의 유사도(similarity) 또는 비유사도(dissimilarity)를 계산 - OpenCV에서는 matchTemplate() 함수를 사용하여 템플릿 매칭을 수행 가능 - matchTemplate() 함수 실행 결과 maxv 값은 템플릿 매칭으로 검출된 위치에서 정규화된 상관계수 값을 나타내며, 이 값이 1에 가까운 실수이므로 매칭이 잘 되었다고 가늠할 수 있음 13.2 캐스케이드 분류기와 얼굴 검출..

230619-25 스터디

교재 11, 12장 공부 - 11장 이진화와 모폴로지 11.1 영상의 이진화 - 영상의 이진화는 영상에서 관심 있는 객체 영역과 배경 영역을 구분하기 위한 용도로 널리 사용 - 영상의 이진화(binarization): 영상의 각 픽셀을 두 개의 부류로 나누는 작업 - OpenCV에서 이진화는 threshold() 함수를 이용하여 수행 가능 - 다양한 임계값을 이용하여 이진화를 수행하는 코드 실행 결과 - 전역 이진화(global binarization): 영상의 모든 픽셀에 같은 임계값을 적용하여 이진화를 수행하는 방식 - 균일하지 않은 조명 환경에서 촬영된 영상에 대해 전역 이진화를 수행하면 객체와 배경이 적절하게 분리되지 않는 경우가 발생 - ..